python 用字典进行计数的三种常用方法

 

1、常规方法

初始化一个字典,遍历列表或字符串,如果遍历的值已经存在于字典中,则字典值直接加1,否则,令字典键为当前遍历的值,字典值为1,

代码如下:

>>> dic = {}
>>> li = ['a','a','a','b','b','b','c','c','d']
>>> for i in li:
    if i in dic.keys():
        dic[i] += 1
    else:
        dic[i] = 1

>>> print(dic)
{'a': 3, 'b': 3, 'c': 2, 'd': 1}

 

2、简单方法

利用字典的get方法

代码如下:

>>> li = ['a','a','a','b','b','b','c','c','d']
>>> dic = {}
>>> for i in li:
    dic[i] = dic.get(i,0) + 1

    
>>> dic
{'a': 3, 'b': 3, 'c': 2, 'd': 1}

 

 

3、取巧方法

python中collections模块的counter方法可以直接用来计数

代码如下:

>>> from collections import Counter
>>> li = ['a','a','a','b','b','b','c','c','d']
>>> counter = Counter(li)
>>> counter
Counter({'a': 3, 'b': 3, 'c': 2, 'd': 1})
>>> type(counter)
<class 'collections.Counter'>

 

个人更推荐方法二,比方法一简洁,比方法三更能体现个人思路和能力。

 

posted @ 2020-09-14 16:17  千鱼千寻  阅读(10013)  评论(0编辑  收藏  举报