Sho*_*ryu 9 python dictionary key python-2.7
如果我有一个字典及其相应的频率值:
numbers = {a: 1, b: 4, c: 1, d: 3, e: 3}
Run Code Online (Sandbox Code Playgroud)
要找到最高的,我所知道的是:
mode = max(numbers, key=numbers.get)
print mode
Run Code Online (Sandbox Code Playgroud)
并打印:
b
Run Code Online (Sandbox Code Playgroud)
但如果我有:
numbers = {a: 1, b: 0, c: 1, d: 3, e: 3}
Run Code Online (Sandbox Code Playgroud)
并应用上面的'max'函数,输出为:
d
Run Code Online (Sandbox Code Playgroud)
我需要的是:
d,e
Run Code Online (Sandbox Code Playgroud)
或类似的东西,显示两个键.
xor*_*you 10
numbers = {'a': 1, 'b': 0, 'c': 1, 'd': 3, 'e': 3}
max_value = max(numbers.values())
[k for k,v in numbers.iteritems() if v == max_value]
Run Code Online (Sandbox Code Playgroud)
版画
['e', 'd']
Run Code Online (Sandbox Code Playgroud)
它的作用是,遍历所有条目.iteritems,然后检查该值是否为最大值,如果是,则将该键添加到列表中.