如何统计Python嵌套字典中poi字段的True值总数量
统计enron_data嵌套字典中poi字段为True的总数方案
原代码错误说明
- Python 3 中
dict.values()返回的是dict_values视图对象,不支持下标索引访问,原代码中a[i]的写法本身存在语法错误 - 报错
TypeError: unsupported operand type(s) for +: 'int' and 'dict'的原因是代码其他位置误将count变量赋值为字典类型,导致执行加法运算时类型不匹配
正确实现代码
基础遍历实现
count = 0 for item in enron_data.values(): if item.get("poi", False): count += 1 print(count)
使用get方法获取poi字段,避免部分条目不存在poi键时抛出KeyError,默认返回False不参与统计。
精简写法
count = sum(1 for item in enron_data.values() if item.get("poi", False)) print(count)
通过生成器表达式配合sum方法直接统计符合条件的条目数,代码更简洁高效。
内容的提问来源于stack exchange,提问作者Ali Said
相关产品推荐
相关产品推荐

