python -- Counter 類


python -- Counter 類


enter description here

我明白你會來,所以我等


參考

官方文檔


class collections.Counter([iterable-or-mapping])

Counter 集成於 dict 類,因此也可以使用字典的方法,此類返回一個以元素為 key 、元素個數為 value 的 Counter 對象集合

>>> from collections import Counter
>>> s = "hello pinsily"
>>> d = Counter(s)
>>> d
Counter({'l': 3, 'i': 2, 'h': 1, 'e': 1, 'o': 1, ' ': 1, 'p': 1, 'n': 1, 's': 1, 'y': 1})

elements()

返回一個迭代器

>>> d.elements()
<itertools.chain object at 0x0000019AC812BBA8>

# 可以進行打印和排序
>>> for i in d.elements():
...     	print(i)
...


most_common(n)

返回數量最多的前 n 個元素

>>> d.most_common(3)
[('l', 3), ('i', 2), ('h', 1)]

subtract([iterable-or-mapping])

相當於減法,調用這個方法的 Counter 會被覆蓋掉

>>> c = Counter(a=4, b=2, c=0, d=-2)
>>> d = Counter(a=1, b=2, c=3, d=4)
>>> c.subtract(d)
>>> c
Counter({'a': 3, 'b': 0, 'c': -3, 'd': -6})
>>> d
Counter({'d': 4, 'c': 3, 'b': 2, 'a': 1})

總結

當需要對 list 中的大量數據進行計數時,可以直接使用 Counter ,而不用新建字典來計數



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM