尝试获取dict
键的唯一值及其在list
中出现的次数。这有效,但感觉很笨拙:
a = [ {'pid': 1 }, {'pid': 1}, {'pid': 1}, {'pid': 2}, {'pid': 2}, {'pid': 3} ]
b = { x['pid']: len([f for f in a if f['pid'] == x['pid']]) for x in a }
b
产量:
{1: 3, 2: 2, 3: 1}
有更好的方法吗?
答案 0 :(得分:6)
是的,有。使用collections.Counter
:
from collections import Counter
c = Counter(d['pid'] for d in a)
print(c)
# Counter({1: 3, 2: 2, 3: 1})