我是Python的新手,我有一個簡單的問題,說我有一個項目列表:['apple','red','apple','red','red','pear']將列表項添加到字典并計算該項目在列表中出現(xiàn)的次數(shù)的最簡單方法是什么?因此,對于上面的列表,我希望輸出為:{'apple': 2, 'red': 3, 'pear': 1}
3 回答

阿波羅的戰(zhàn)車
TA貢獻1862條經(jīng)驗 獲得超6個贊
在2.7和3.1中Counter,為此目的有一個特殊的命令。
>>> from collections import Counter
>>> Counter(['apple','red','apple','red','red','pear'])
Counter({'red': 3, 'apple': 2, 'pear': 1})

函數(shù)式編程
TA貢獻1807條經(jīng)驗 獲得超9個贊
我喜歡:
counts = dict()
for i in items:
counts[i] = counts.get(i, 0) + 1
如果密鑰不存在,.get允許您指定默認值。

人到中年有點甜
TA貢獻1895條經(jīng)驗 獲得超7個贊
>>> L = ['apple','red','apple','red','red','pear']
>>> from collections import defaultdict
>>> d = defaultdict(int)
>>> for i in L:
... d[i] += 1
>>> d
defaultdict(<type 'int'>, {'pear': 1, 'apple': 2, 'red': 3})
添加回答
舉報
0/150
提交
取消