您的位置:

python字典基于值降序排序(python对字典的值进行排序)

本文目录一览:

想问下python字典排序 怎么才能先按照值大小降序排列 若值相同 再按照键的字母顺序排呢????

暂时只能想到这样的,结果是排序后的键列表。

d = {'a': 3, 'c': 4, 'b': 3, 'd': 2, 'f': 4, 'e': 2}

result = []

keys = sorted(d, key=lambda k: d[k])

for k in keys:

if not result:

result.append(k)

elif d[k] == d[result[-1]] and k result[-1]:

result.insert(len(result) - 1, k)

else:

result.append(k)

print result

python 怎么给字典按照值降序排列

最为简单的方法是利用表理解,生成一个新的字典 必须要保证键值是一一对应的 d = {'one':1, 'two':2, 'three':3, 'four':4}di = {v:k for k,v in d.items()}di[1]

python怎么对字典进行排序

python 字典(dict)的特点就是无序的,按照键(key)来提取相应值(value),如果我们需要字典按值排序的话,那可以用下面的方法来进行:

1 下面的是按照value的值从大到小的顺序来排序。

dic = {'a':31, 'bc':5, 'c':3, 'asd':4, 'aa':74, 'd':0}

dict= sorted(dic.iteritems(), key=lambda d:d[1], reverse = True)

print dict

输出的结果:

[('aa', 74), ('a', 31), ('bc', 5), ('asd', 4), ('c', 3), ('d', 0)]

下面我们分解下代码

print dic.iteritems() 得到[(键,值)]的列表。

然后用sorted方法,通过key这个参数,指定排序是按照value,也就是第一个元素d[1的值来排序。reverse = True表示是需要翻转的,默认是从小到大,翻转的话,那就是从大到小。

2 对字典按键(key)排序:

dic = {'a':31, 'bc':5, 'c':3, 'asd':4, 'aa':74, 'd':0}

dict= sorted(dic.iteritems(), key=lambda d:d[0]) d[0]表示字典的键

print dict