这就是我做的.在python中有更好的方法吗?
for k in a_list: if kvMap.has_key(k): kvMap[k]=kvMap[k]+1 else: kvMap[k]=1
谢谢
使用defaultdict
from collections import defaultdict kvmap= defaultdict(int) for k in a_list: kvmap[k] += 1
单个元素:
a_list.count(k)
所有元素:
counts = dict((k, a_list.count(k)) for k in set(a_list))
我不知道,它基本上对我来说很好.您的代码简单易读,这是我认为pythonic的重要组成部分.
你可以修剪它有点像:
for k in a_list: kvMap[k] = 1 + kvMap.get(k,0)