python - 获取与 dict python 中的键关联的值的计数

标签 python python-2.7 dictionary

字典列表就像 .

[{'id': 19, 'success': True, 'title': u'apple'},
 {'id': 19, 'success': False, 'title': u'some other '},
 {'id': 19, 'success': False, 'title': u'dont know'}]

我想计算有多少 dict successTrue

我试过了,

len(filter(lambda x: x, [i['success'] for i in s]))

如何使用 pythonic 方式使其更优雅?

最佳答案

您可以使用sum() 来添加您的 bool 值; True 在数字上下文中是 1,False 是 0:

sum(d['success'] for d in s)

这是可行的,因为 Python bool 类型是 int 的子类,出于历史原因。

如果你想让它明确,你可以使用条件表达式,但在我看来,可读性并没有提高:

sum(1 if d['success'] else 0 for d in s)

关于python - 获取与 dict python 中的键关联的值的计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35269374/

相关文章:

python - 如何在Python中具有相同参数的X子方法中实例化类X?

python - Zlib 在 OS X 中不可用?

python - 使用...正则表达式在字典中查找键?

python - 当我有大量数组时检查重复数组

python - 如何使用改进的 DFS 算法遍历循环有向图

python - 从存在的第一个键的字典中获取值

python - Docker + Celery 告诉我不要以 root 身份运行,但是一旦我不这样做,我就没有运行权限

python - 在 Django 中使用 ThreadPoolExecutor 时出现数据库 "is being accessed by other users"错误

c# - 如何在类型变量中创建任何类型的字典?

python - 将字典转换为平面数据结构(列表或元组)的有效方法