最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

簡(jiǎn)單掌握Python的Collections模塊中counter結(jié)構(gòu)的用法

 更新時(shí)間:2016年07月07日 15:28:43   作者:CIZIXS  
counter數(shù)據(jù)結(jié)構(gòu)被用來提供技術(shù)功能,形式類似于Python中內(nèi)置的字典結(jié)構(gòu),這里通過幾個(gè)小例子來簡(jiǎn)單掌握Python的Collections模塊中counter結(jié)構(gòu)的用法:

counter 是一種特殊的字典,主要方便用來計(jì)數(shù),key 是要計(jì)數(shù)的 item,value 保存的是個(gè)數(shù)。

from collections import Counter

>>> c = Counter('hello,world')
Counter({'l': 3, 'o': 2, 'e': 1, 'd': 1, 'h': 1, ',': 1, 'r': 1, 'w': 1})

初始化可以傳入三種類型的參數(shù):字典,其他 iterable 的數(shù)據(jù)類型,還有命名的參數(shù)對(duì)。

 | __init__(self, iterable=None, **kwds)
 |  Create a new, empty Counter object. And if given, count elements
 |  from an input iterable. Or, initialize the count from another mapping
 |  of elements to their counts.
 |
 |  >>> c = Counter()       # a new, empty counter
 |  >>> c = Counter('gallahad')     # a new counter from an iterable
 |  >>> c = Counter({'a': 4, 'b': 2})   # a new counter from a mapping
 |  >>> c = Counter(a=4, b=2)     # a new counter from keyword args

默認(rèn)請(qǐng)求下,訪問不存在的 item,會(huì)返回 0。Counter 可以用來統(tǒng)計(jì)某些數(shù)據(jù)的出現(xiàn)次數(shù),比如一個(gè)很長(zhǎng)的數(shù)字串 numbers = "67642192097348921647512014651027586741512651" 中每個(gè)數(shù)字的頻率:

>>> c = Counter(numbers) # c 存儲(chǔ)了每個(gè)數(shù)字的頻率
>>> c.most_common()  # 所有數(shù)字按照頻率排序。如果 most_common 接受了 int 參數(shù) n,將返回頻率前n 的數(shù)據(jù),否則會(huì)返回所有的數(shù)據(jù)
[('1', 8),
 ('2', 6),
 ('6', 6),
 ('5', 5),
 ('4', 5),
 ('7', 5),
 ('0', 3),
 ('9', 3),
 ('8', 2),
 ('3', 1)]

此外,你還可以對(duì)兩個(gè) Counter 對(duì)象進(jìn)行 +, -,min, max 等操作。

綜合示例:

print('Counter類型的應(yīng)用') 
c = Counter("dengjingdong") 
#c = Counter({'n': 3, 'g': 3, 'd': 2, 'i': 1, 'o': 1, 'e': 1, 'j': 1}) 
print("原始數(shù)據(jù):",c) 
print("最多的兩個(gè)元素:",c.most_common(2))#輸出數(shù)量最多的元素 
print("d的個(gè)數(shù):",c['d'])#輸出d的個(gè)數(shù) 
print(c.values())#輸出字典的value列表 
print(sum(c.values()))#輸出總字符數(shù) 
print(sorted(c.elements()))#將字典中的數(shù)據(jù),按字典序排序 
print('\n\n') 
""" 
#刪除所有d元素 
del c['d'] 
b = Counter("dengxiaoxiao") 
#通過subtract函數(shù)刪除元素,元素個(gè)數(shù)可以變成負(fù)數(shù)。 
c.subtract(b) 
""" 
 
""" 
可以添加數(shù)據(jù) 
b = Counter("qinghuabeida") 
c.update(b) 
""" 

相關(guān)文章

最新評(píng)論

莱芜市| 揭阳市| 都安| 聂荣县| 平陆县| 浦县| 巨野县| 上饶市| 偃师市| 自治县| 定西市| 错那县| 察隅县| 紫云| 枣强县| 九寨沟县| 阿尔山市| 工布江达县| 温州市| 虎林市| 梁河县| 汾西县| 遂平县| 万全县| 庆云县| 咸阳市| 沁水县| 南汇区| 伽师县| 唐海县| 泸水县| 翁牛特旗| 四川省| 阿拉善左旗| 彭山县| 平安县| 竹溪县| 静宁县| 正宁县| 平罗县| 山阴县|