gpt4 book ai didi

python - 如何找到计数器的第二个最大值 - Python

转载 作者:太空狗 更新时间:2023-10-29 21:18:42 26 4
gpt4 key购买 nike

计数器的最大值可以这样访问:

c = Counter()
c['foo'] = 124123
c['bar'] = 43
c['foofro'] =5676
c['barbar'] = 234
# This only prints the max key
print max(c), src_sense[max(c)]
# print the max key of the value
x = max(src_sense.iteritems(), key=operator.itemgetter(1))[0]
print x, src_sense[x]

如果我想要一个按降序计数的排序计数器怎么办?

我如何访问第 2 个最大值、第 3 个或第 N 个最大值 key ?

最佳答案

most_common(self, n=None) method of collections.Counter instance

List the n most common elements and their counts from the most common to the least. If n is None, then list all element counts.

>>> Counter('abcdeabcdabcaba').most_common(3)
[('a', 5), ('b', 4), ('c', 3)]

等等:

>>> c.most_common()
[('foo', 124123), ('foofro', 5676), ('barbar', 234), ('bar', 43)]
>>> c.most_common(2)[-1]
('foofro', 5676)

请注意 max(c) 可能不会返回您想要的内容:Counter 上的迭代是键上的迭代,因此 max(c ) == max(c.keys()) == 'foofro',因为它是字符串排序后的最后一个。你需要做类似的事情

>>> max(c, key=c.get)
'foo'

获取具有最大值的 (a) 键。以类似的方式,您可以完全放弃 most_common 并自己进行排序:

>>> sorted(c, key=c.get)[-2]
'foofro'

关于python - 如何找到计数器的第二个最大值 - Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15852436/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com