我试图比较字典中键中的元素。我想首先比较键的所有第一个元素,然后如果有多个具有最高值的元素,则比较这些键中的第二个元素。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这样的外部库来实现。 –