这篇文章将为大家详细讲解有关python3字典如何进行排序,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
创建一个字典
dict1={& # 39;一个# 39;:2 & # 39;b # 39;: 3 & # 39; c # 39;: 8日& # 39;d # 39;: 4}
1,分别取键,值
取字典的所有键,所有的值,利用dict1.keys (), dict1.vaules ()
由于键,值有很多个,所以要加年代,另外注意这里要加括号,这样的小细节不注意,很容易犯的错。
打印(dict1.values (), dict1.keys ())
结果:
dict_values([4,, 2,, 8日,3]),dict_keys ((& # 39; d # 39;,, & # 39;一个# 39;,,& # 39;c # 39;,, & # 39; b # 39;])
可以看的出,返回的是列表的形式
2,同时取键,值
同时取字典的键,值,dict1.items(),这里同样加年代和括号
打印(dict1.items ())
结果:
dict_items (((& # 39; d # 39;,, 4),,(& # 39;一个# 39;,,2),,(& # 39;c # 39;,, 8),, (& # 39; b # 39;,, 3)])
可以看的出,返回的结果是元组组成的列表
也就是说,通过dict1.items()这个函数,把字典形式的键,值,存在了一个元组内。
3排序
3.1分类
先看一下,直接用排序()排序的情况。
dict1={& # 39;一个# 39;:2 & # 39;e # 39;: 3 & # 39; f # 39;: 8日& # 39;d # 39;: 4} 时间=dict2 排序(dict1) 打印(dict2)
结果:
[& # 39;一个# 39;,,& # 39;d # 39;,, & # 39; e # 39;,, & # 39; f # 39;]
排序()默认是对字典的键,从小到大进行排序
3.2,对键反向排序
对键进行反向(从大到小)排序
dict1={& # 39;一个# 39;:2 & # 39;e # 39;: 3 & # 39; f # 39;: 8日& # 39;d # 39;: 4} 时间=dict2 排序(dict1反向=True) 打印(dict2)
结果:
[& # 39;f # 39;,, & # 39; e # 39;,, & # 39; d # 39;,, & # 39;一个# 39;]
像这种对键进行排序,往往是为了得到值(值)
拿到键最大,对应的值,如:
打印(dict1 [dict2[0]]) #结果为8
当然我们也可以先拿到所有的关键,然后再对关键排序
dict1={& # 39;一个# 39;:2 & # 39;e # 39;: 3 & # 39; f # 39;: 8日& # 39;d # 39;: 4} list1=,排序(dict1.keys(),反向=True) 打印(list1),,,, #,结果:[& # 39;f # 39;,, & # 39; e # 39;,, & # 39; d # 39;,, & # 39;一个# 39;]
3.3,对值排序
同样,用dict1.values()得到所有的价值观,然后对价值排序
dict1={& # 39;一个# 39;:2 & # 39;e # 39;: 3 & # 39; f # 39;: 8日& # 39;d # 39;: 4} list1=,排序(dict1.values ()) 打印(list1),,,, #结果:[2,3,4,8]
设值反向=True进行反向排序
也可以用dict1.items(),得到包含键,值的元组
由于迭代对象是元组,返回值自然是元组组成的列表
这里对排序的规则进行了定义,x指元组,x[1]是值,x[0]是键
dict1={& # 39;一个# 39;:2 & # 39;e # 39;: 3 & # 39; f # 39;: 8日& # 39;d # 39;: 4} list1=,排序(dict1.items(),关键=lambda x: x [1]) 打印(list1)
结果:
((& # 39;一个# 39;,,2),,(& # 39;e # 39;,, 3),, (& # 39; d # 39;,, 4),, (& # 39; f # 39;,, 8)]
对键进行排序:
dict1={& # 39;一个# 39;:2 & # 39;e # 39;: 3 & # 39; f # 39;: 8日& # 39;d # 39;: 4} list1=,排序(dict1.items(),关键=lambda x: x [0]) 打印(list1)
结果:
((& # 39;一个# 39;,,2),,(& # 39;d # 39;,, 4),, (& # 39; e # 39;,, 3),, (& # 39; f # 39;,, 8)]
4 itemgetter
得到operator import itemgetter d =, {“a": 8“b": 4,“c": 12} print(排序(d.items()、关键=itemgetter(0),反向=True)) print(排序(d.items()、关键=itemgetter(1)反向=True))
结果:
((& # 39;c # 39;,, 12),, (& # 39; b # 39;,, 4),,(& # 39;一个# 39;,,8)) ((& # 39;c # 39;,, 12),,(& # 39;一个# 39;,,8),,(& # 39;b # 39;,, 4)]
itemgetter(0),获取关键
itemgetter(1),获取价值
关于python3字典如何进行排序就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。