本文目錄一覽:
想問下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
原創文章,作者:LOCFV,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/127410.html