python随手记(2) 使用sorted对dict按照key或
2019-06-14 本文已影响0人
银色尘埃010
如何按照字典的key和value分别对dict进行排序。提供了一下几种方式:
一、介绍sorted
sorted 可以对所有可迭代的对象进行排序操作
sorted(iterable,key, reverse),sorted一共有iterable,key,reverse这三个参数;
iterable:可以迭代的对象,例如可以是dict.items()、dict.keys()等,
key是一个函数,用来选取参与比较的元素
reverse则是用来指定排序是倒序还是顺序,reverse=true则是倒序,reverse=false时则是顺序,默认时reverse=false。
二、对dict进行排序
1、通过dict的键(key)进行排序
重点在:key=lambda x:x[0]
dict_data={'a':9,'b':5,'c':11,'d':2,'e':6}
result = sorted(dict_data.items(),key=lambda x:x[0])
print(result)
结果:
[('a', 9), ('b', 5), ('c', 11), ('d', 2), ('e', 6)]
2、通过dict的值(value)进行排序
重点在:key=lambda x:x[1]
dict_data={'a':9,'b':5,'c':11,'d':2,'e':6}
result = sorted(dict_data.items(),key=lambda x:x[1])
print(result)
结果:
[('d', 2), ('b', 5), ('e', 6), ('a', 9), ('c', 11)]
三:在key中使用operator
1、通过dict的键(key)进行排序
重点在:key=operator.itemgetter(0)
dict_data={'a':9,'b':5,'c':11,'d':2,'e':6}
result = sorted(dict_data.items(),key=operator.itemgetter(0))
print(result)
结果:
[('a', 9), ('b', 5), ('c', 11), ('d', 2), ('e', 6)]
2、通过dict的值(value)进行排序
重点在:key=operator.itemgetter(1)
dict_data={'a':9,'b':5,'c':11,'d':2,'e':6}
result = sorted(dict_data.items(),key=operator.itemgetter(1))
print(result)
结果:
[('d', 2), ('b', 5), ('e', 6), ('a', 9), ('c', 11)]