我試圖比較字典中鍵中的元素。我想首先比較鍵的所有第一個元素,然後如果有多個具有最高值的元素,則比較這些鍵中的第二個元素。Python - 比較字典中的鍵元素並返回其中一個鍵
例如:
>>> my_dict = { 111: [50, 2, 34], 122: [50 , 4, 45], 133: [40, 1, 12], 144: [20, 5, 77]}
1)搜索最高值第一元件。結果應該是:
('111', '122')
2)搜索'111'和'112'的第二個元素作爲最小值。結果應該是:
('111')
我發現this討論,以找到具有最大值的關鍵。一個解決方案返回多個相同的最大密鑰是:
>>> stats = {'a':1000, 'b':3000, 'c': 100, 'd':3000}
>>> [key for key,val in stats.iteritems() if val == max(stats.values())]
['b', 'd']
這裏的問題是,這些鍵只有一個元素。我需要弄清楚如何爲具有多個元素的鍵執行此操作。
我想我可以返回每個按鍵的第一要素是這樣的:
>>> [item[0] for item in my_dict.values()]
['50', '50', '40', '20']
但後來如何比較呢?在此先感謝您的幫助!
如果你不關心按鍵,'my_dict.values()'會給你一個列表(值)的列表。然後你可以比較列表。 –
你可以用for循環,或像'cmp()','sum()'等等函數或像numpy這樣的外部庫來實現。 –