Python 模式列表中数字的最高值
因此,我从一个列表中找到了数字的频率,并创建了一个这样的列表[2:3,25:1,22:4,5:2,5:2],之后我尝试做的是使用for循环检测最大频率(不同的数字可以具有相同的频率)然后打印最高的数字和频率,可能不止一个 取决于数据的结构Python 模式列表中数字的最高值,python,list,frequency,Python,List,Frequency,因此,我从一个列表中找到了数字的频率,并创建了一个这样的列表[2:3,25:1,22:4,5:2,5:2],之后我尝试做的是使用for循环检测最大频率(不同的数字可以具有相同的频率)然后打印最高的数字和频率,可能不止一个 取决于数据的结构 >>> data = {2:3 , 25:1, 22:4, 5:2, 5:2} >>> max(data, key = lambda x: data[x]) 22 或 我们应该做到这一点 [编辑] >>>
>>> data = {2:3 , 25:1, 22:4, 5:2, 5:2}
>>> max(data, key = lambda x: data[x])
22
或
我们应该做到这一点
[编辑]
>>> data = {2:3 , 25:4, 22:4, 5:2, 5:2}
>>> max_key = max(data.values())
>>> print [i for i in data if data[i] == max_key]
[22, 25]
您是否有
列表
或目录
?因为[2:3,25:1,22:4,5:2,5:2]
两者都不是。那么在2:3
中,哪个是数字,哪个是频率?还有,5:2
出现两次的意义是什么?所以数字是2,频率是3。嗯,试图证明不同的数字可以有相同的最大频率。你是想做这样的事情吗?那么这是一本字典?即{2:3,25:1,22:4,5:2}?为什么5:2出现两次?这是家庭作业吗?假设你有数据={2:4,5:4,3:2,22:6}你如何显示2和5编辑,这将考虑多个值。不过,您使用的数据结构不好。我强烈建议你去看看
>>> data = {2:3 , 25:4, 22:4, 5:2, 5:2}
>>> max_key = max(data.values())
>>> print [i for i in data if data[i] == max_key]
[22, 25]