實現對乙個字典的值進行排序
sorted 只能對字典的 鍵進行排序, 吧字典的鍵,值分開然後重新換個位置進行排序
但是 sorted 對字典排序後的結果就只剩下鍵了. 因此此方法不行
基於思路一的問題, 為了解決不會丟失值的問題, 只能吧鍵和值分開儲存,然後在組合在一起
這裡使用到了 zip 函式, zip 函式組合成乙個元組 ( 值放在前面, 先比較前面的 )
然後在使用 sorted 進行排序, 這樣就可以對值進行排序同時保留鍵值所有資料了
字典的 items方法的返回值本身就已經是元組加鍵值的形式, 所以不需要用 zip 也沒關係
然後 key 選取的時候沒法直接定位到目標, 所以使用匿名函式篩選
importrandom
d =
print(d) #
print(d.keys()) #
dict_keys(['a', 's', 'd', 'c', 'f', 'g'])
print(d.values()) #
dict_values([74, 91, 90, 87, 83, 81])
d =list(zip(d.values(), d.keys()))
print(sorted(d)) #
[(74, 'a'), (81, 'g'), (83, 'f'), (87, 'c'), (90, 'd'), (91, 's')]
importrandom
d =
print(d.items()) #
dict_items([('a', 100), ('s', 66), ('d', 92), ('c', 93), ('f', 69), ('g', 74)])
print(sorted(d.items(), key=lambda x: x[1])) #
[('s', 66), ('f', 69), ('g', 74), ('d', 92), ('c', 93), ('a', 100)]
寫了乙個字典樹
上星期寫了乙個鍊錶,寫的很艱難,跌跌絆絆。昨天我又試著寫了乙個單詞樹。這次順手多了,沒遇到什麼問題,非常順利,我也放棄了自定義結構體型別的寫法。將每一處結構體都用struct 寫。可能 不是非常簡潔高效,但是,目前測試功能正常。以後我會慢慢改進學習的。下面是完整 我準備放到我的期末作業裡面用。小愉悅...
python技巧 使用值來排序乙個字典
in 8 a in 9 import operator in 10 sorted a.items key operator.itemgetter 1 out 10 c 4 x 11 y 22 in 11 a in 12 sorted a.items key lambda x x 1 out 12 c...
python 使用值來排序乙個字典的方法
下面先看下python 使用值排序字典的方法 in 8 a in 9 import operator in 10 sorted a.items key operator.itemgetter 1 out 10 c 4 x 11 y 22 in 11 a in 12 sorted a.items ke...