Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 在python字典中查找所有最大值的键?_Python 3.x_Dictionary - Fatal编程技术网

Python 3.x 在python字典中查找所有最大值的键?

Python 3.x 在python字典中查找所有最大值的键?,python-3.x,dictionary,Python 3.x,Dictionary,如果我有字典 x ={0: 0, 1: 4, 2: 0, 3: 2, 4: 2, 5: 4} 如何获取所有最大值的键 在这种情况下,它们将是1和5 不是重复的问题。正在查找所有键,而不仅仅是一个键。中有一个名为的类,它完全满足您的需要。它通过其方法提供您所需的确切功能: 这可能不是你想要的,因为我在数字2中硬编码了。您可以通过在字典的值上使用另一个计数器来实现这一点 x = Counter(x) # This preserves x: just makes it a subclass of

如果我有字典

x ={0: 0, 1: 4, 2: 0, 3: 2, 4: 2, 5: 4}
如何获取所有最大值的键

在这种情况下,它们将是1和5

不是重复的问题。正在查找所有键,而不仅仅是一个键。

中有一个名为的类,它完全满足您的需要。它通过其方法提供您所需的确切功能:

这可能不是你想要的,因为我在数字2中硬编码了。您可以通过在字典的值上使用另一个
计数器
来实现这一点

x = Counter(x) # This preserves x: just makes it a subclass of dict
max_count = Counter(x.values())[x.most_common(1)[0][1]]
maxes = x.most_common(max_count)
maxes = [x[0] for x in maxes]
在这里,我通过计算所有不同的值,然后使用
x检查最大值来计算最常见值出现的次数。最常见(1)[0][1]


请不要选择此答案@布莱顿有正确的答案。这只是我做的一件事,看看我是否可以避免使用计数器以外的任何东西。这其实不是个好主意。

看看我做的。但那是为了找到最大的。因此,它只返回1,而不是5。这里的一个非常重要的情况是,这可能的重复比我的答案复杂得多。我唯一的建议是为了可读性,在理解中解压元组:
[key for key,value in x.items(),如果value==max]
x ={0: 0, 1: 4, 2: 0, 3: 2, 4: 2, 5: 4}

maximum = max(x.values())
keys = [key for key, value in x.items() if value == maximum]
print(keys)  # => [1, 5]
x = Counter(x) # This preserves x: just makes it a subclass of dict
max_count = Counter(x.values())[x.most_common(1)[0][1]]
maxes = x.most_common(max_count)
maxes = [x[0] for x in maxes]
x ={0: 0, 1: 4, 2: 0, 3: 2, 4: 2, 5: 4}

maximum = max(x.values())
keys = [key for key, value in x.items() if value == maximum]
print(keys)  # => [1, 5]