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'>
個人更推薦方法二,比方法一簡潔,比方法三更能體現個人思路和能力。