<26>python学习笔记——根据字典中的值的大小进行排序

来源:互联网 发布:淘宝上卖的茶杯犬真吗 编辑:程序博客网 时间:2024/06/05 18:21


sorted的常见用法:

sorted([4,7,2,9,1])Out[68]: [1, 2, 4, 7, 9]

1 / 使用zip将字典数据转化成元组后排序

{ x:randint(60,100) for x in 'xyzabc'}Out[69]: {'a': 75, 'b': 66, 'c': 93, 'x': 73, 'y': 71, 'z': 72}d = { x:randint(60,100) for x in 'xyzabc'}sorted(d)Out[71]: ['a', 'b', 'c', 'x', 'y', 'z']#sorted默认对字典的键排序,并丢弃值##使用zip函数将字典数据转化成元组d.keys()Out[74]: dict_keys(['x', 'y', 'z', 'a', 'b', 'c'])d.values()Out[75]: dict_values([75, 71, 89, 90, 69, 98])sorted(zip(d.values(),d.keys()))Out[79]: [(69, 'b'), (71, 'y'), (75, 'x'), (89, 'z'), (90, 'a'), (98, 'c')]
2 / 传递sorted函数的key参数

lambda匿名函数是指拿index[1]的元素作为sorted的key,然后sorted依据这个key进行排序

d.items()Out[81]: dict_items([('x', 75), ('y', 71), ('z', 89), ('a', 90), ('b', 69), ('c', 98)])sorted(d.items(),key = lambda x : x[1])Out[82]: [('b', 69), ('y', 71), ('x', 75), ('z', 89), ('a', 90), ('c', 98)]



0 0