所以我从一个列表中找到了数字的频率,并创建了一个这样的列表 [2:3 , 25:1, 22:4, 5:2, 5:2] 之后我想做的是有一个for循环检测最大频率(不同的数字可以具有相同的频率),然后打印最高的数字和频率,可能不止一个。
问问题
122 次
1 回答
1
取决于您的数据的结构
>>> 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: x[1])
(22, 4)
应该做的伎俩。
[编辑]
>>> 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]
于 2012-05-30T08:19:17.660 回答