Python中dict最常见的值

时间:2017-04-06 18:11:25

标签: python

我列表中有很多字典。

[{'key3': '2', 'key2': '12', 'key1': '1'},
{'key3': '4', 'key2': '12', 'key1': '1'},
{'key3': '3', 'key2': '1', 'key1': '1'},
{'key3': '5', 'key2': '4', 'key1': '1'}]

如何获取key2的最新值?这个例子应该打印12?

1 个答案:

答案 0 :(得分:1)

试试这个:

my_map = {}
for entry in my_list:
    try:
        my_map[entry['key2']] += 1
    except KeyError:
        my_map[entry['key2']] = 1
print(max(my_map, key=my_map.get))

您将创建一个字典(my_map)来保存计数。在列表的每个元素上,将key2值存储在映射中并递增计数。我们需要try / except方法,这样如果键不存在,我们可以将它设置为1.否则我们增加它。

在for循环结束时,my_map将如下所示:{'1': 1, '4': 1, '12': 2}

最后一行获取列表中的最大值,key2具有最高计数。我们提供key=lambda a: my_map[a]告诉max函数使用字典的值作为最大值,而不是仅使用键。