Python 2.6下统计字典列表中指定键的出现次数
解决Python 2.6中统计字典列表指定键出现次数的问题
没问题,我来帮你搞定这个需求!你之前用len(data['a'])不行是因为data是字典组成的列表,不是单个字典,直接用键索引肯定会报错~
针对Python 2.6(没法用collections.Counter)的情况,这里有两种简单好用的方法:
方法1:循环遍历计数
这是最直观的方式,逐个检查列表里的每个字典是否包含目标键,包含就加1:
data = [{'a':1, 'b':1}, {'a':1, 'c':1}, {'b':1, 'c':1}, {'a':1, 'c':1}, {'a':1, 'd':1}] count = 0 target_key = 'a' for d in data: if target_key in d: count += 1 print(count) # 输出:4
方法2:生成器表达式结合sum
用生成器表达式简化代码,Python 2.6完全支持这种写法,一行就能搞定:
data = [{'a':1, 'b':1}, {'a':1, 'c':1}, {'b':1, 'c':1}, {'a':1, 'c':1}, {'a':1, 'd':1}] target_key = 'a' count = sum(1 for d in data if target_key in d) print(count) # 输出:4
两种方法都能准确统计出键'a'在字典列表里的出现次数(你的示例数据里是4次),选哪个都可以,看你更喜欢直观的循环还是简洁的表达式~
内容的提问来源于stack exchange,提问作者klex52s
相关产品推荐
相关产品推荐

