如何计算字典列表中键的出现次数

kle*_*52s -1 python python-2.x python-2.6

我知道这是一个常见问题,但是我无法访问 Counter 模块,因为我使用的是 Python v2.6。我想计算特定键在字典列表中出现的次数。

如果我的字典看起来像这样:

data = [{'a':1, 'b':1}, {'a':1, 'c':1}, {'b':1, 'c':1}, {'a':1, 'c':1}, {'a':1, 'd':1}]
Run Code Online (Sandbox Code Playgroud)

我怎样才能知道“a”出现了多少次?我尝试过使用 len ,但这只返回一个键的值的数量。

len(data['a'])
Run Code Online (Sandbox Code Playgroud)

sha*_*eed 6

您可以使用列表理解。

data = [{'a':1, 'b':1}, {'a':1, 'c':1}, {'b':1, 'c':1}, {'a':1, 'c':1}, {'a':1, 'd':1}]
sum([1 for d in data if 'a' in d])
Run Code Online (Sandbox Code Playgroud)

说明:首先从列表数据中取出字典对象,检查字典中是否存在键“a”,如果存在,则在列表中加1。然后对新列表求和。