使用sorted对字典进行排序。
描述
sorted() 函数对所有可迭代的对象进行排序操作。
sort 与 sorted 区别:
sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。
list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。
语法
sorted 语法:
sorted(iterable, key=None, reverse=False)
参数说明:
- iterable -- 可迭代对象。
- key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
- reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)。
返回值
返回重新排序的列表。
实例
1.对key值排序
#默认key
>>> d
{'a': 2, 'e': 5, 'c': 1} >>> sorted(d) ['a', 'c', 'e']
反向 >>> sorted(d,reverse=True) ['e', 'c', 'a']
#使用d.keys()
>>> sorted(d.keys())
['a', 'c', 'e'] #反向 >>> sorted(d.keys(),reverse=True) ['e', 'c', 'a']
2.对value进行排序
>>> d {'a': 2, 'e': 5, 'c': 1} >>> sorted(d.values()) [1, 2, 5] 反向 >>> sorted(d.values(),reverse=True) [5, 2, 1]
3.分别根据key和value排序,保留key和value值
>>> d {'a': 2, 'e': 5, 'c': 1} #对键进行排序 >>> sorted(d.items()) [('a', 2), ('c', 1), ('e', 5)] >>> sorted(d.items(),reverse=True) [('e', 5), ('c', 1), ('a', 2)] >>> sorted(d.items(),key=lambda x:x[0]) [('a', 2), ('c', 1), ('e', 5)] >>> sorted(d.items(),key=lambda x:x[0],reverse=True) [('e', 5), ('c', 1), ('a', 2)] #对值进行排序 >>> sorted(d.items(),key=lambda x:x[1]) [('c', 1), ('a', 2), ('e', 5)] >>> sorted(d.items(),key=lambda x:x[1],reverse=True) [('e', 5), ('a', 2), ('c', 1)]