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'>
个人更推荐方法二,比方法一简洁,比方法三更能体现个人思路和能力。