python字典怎么排序

Python019

python字典怎么排序,第1张

python字典怎么排序?

定义一个字典类型

mydict = {2: '小路', 3: '黎明', 1: '郭富城', 4:'周董'}

可分别打印 key和value 看一下数据

按KEY排序,使用了 lambda和 reverse= False(正序)

key和value都输出

reverse= True(逆序)

按value排序,汉字次序不是按拼音输出

sorted并不改变字典本身的数据次序。

输出后为列表和元组

可以 A = sorted(mydict.items(),key = lambda mydict:mydict[1],reverse= False) 赋值给A ,A的次序是变化后的

推荐:《Python教程》

注意事项

sorted并不改变字典本身的数据次序

如果要变化后的 可以赋值给另一个列表变量以上就是小编分享的关于python字典怎么排序的详细内容希望对大家有所帮助,更多有关python教程请关注环球青藤其它相关文章!

感觉这个需求有些许问题,因为通常对比排序的都是同一类型的数据,譬如aaa代表是年龄,bbb代表的是工资,等等... 所以不会拿自己的年龄和工资作一次排序。

#  要做的话,可以手动给它并成一个新列‘sort_key’。 obj就是你最外层的a,免得同名混淆

for i in obj:

obj[i]['sort_key'] = obj[i].values()[0]

#  目的是构造出这样的结构:

#  ('c', {'sort_key': 1, 'ccc': 1}), ('d', {'sort_key': 2, 'ddd': 2}), .....)

print(sorted(obj.items(), key = lambda x:x[1]['sort_key']))

字典是无序的,兄弟

你看嘛:

>>> testmap={123:['aaa',5],234:['bbb',2],345:['ccc',3],456:['ddd',1]}

>>> print testmap

{456: ['ddd', 1], 345: ['ccc', 3], 234: ['bbb', 2], 123: ['aaa', 5]}

>>> testmap={456:['ddd',1],234:['bbb',2],345:['ccc',3],123:['aaa',5]}

>>> print testmap

{456: ['ddd', 1], 345: ['ccc', 3], 234: ['bbb', 2], 123: ['aaa', 5]}

>>>