關于collections的使用,首先介紹:Counter的使用
需要執行:from collections import Counter
在很多使用到dict和次數的場景下,Python中用Counter來實作會非常簡潔,效率也會很高
接下來是對其用法的一個簡介:
初始化:

從上面可以看出,可以直接Counter()為空,之後再通過c[0]=1類似這樣的方式進行設定,可以從一個類似list或者tuple這樣可疊代對象,也可以從mapping得到,也可以直接通過keywords參數的形式進行初始化
下面是所支援的方法:
1、elements()
擷取elements就是将其中的key值乘以出現次數全部列印出來,當然需要通過list或者其他方式将其所有元素全部展示出來,當出現了負數或者0的情況,可以看到:負數對應的key值是不會列印的:
2、most_common([n])
根據上面的c值來計算most_common(),其中c出現次數2次,a出現次數1次,b出現次數-1次,執行方法後可以看到,n為可選參數,如果不輸入n的值,則預設傳回所有,輸入-1則傳回空,輸入小于最長長度,則傳回前n個數,輸入等于最長長度,則傳回所有:
3、subtract([iterable_or_mapping])
可以直接看用法:
是通過c.subtract(d)來進行調用的,如果c中某個元素不存在,則預設其值為0,其實得到的就是将所有元素進行相減的結果
4、接下來是通用用法,下面的這些Counter對象都是支援的,包括:
c.values()
sum(c.values())
c.keys()
c.clear()
list(c)
set(c)
dict(c)
c.items()
c += Counter() #這個是最神奇的,就是可以将負數和0的值對應的key項去掉
并且像加減與或等的也都是支援的: