计算列表中的每个元素而不使用.count

use*_*564 4 python list count

对于这个函数,我想计算每个元素的出现次数并返回一个字典.如:[a,b,a,c,b,a,c]并返回{a:3,b:2,c:2}如何做到这一点?

Art*_*nka 6

你可以使用Counter然后:

from collections import Counter
Counter( ['a','b','a','c','b','a','c'] )
Run Code Online (Sandbox Code Playgroud)

DefaultDict:

from collections import defaultdict
d = defaultdict(int)
for x in lVals:
    d[x] += 1
Run Code Online (Sandbox Code Playgroud)

要么:

def get_cnt(lVals):
    d = dict(zip(lVals, [0]*len(lVals)))
    for x in lVals:
        d[x] += 1
    return d   
Run Code Online (Sandbox Code Playgroud)