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)]
上一篇下一篇

猜你喜欢

热点阅读