Nis*_*ede 4 python dictionary python-2.7
字典列表就像.
[{'id': 19, 'success': True, 'title': u'apple'},
{'id': 19, 'success': False, 'title': u'some other '},
{'id': 19, 'success': False, 'title': u'dont know'}]
Run Code Online (Sandbox Code Playgroud)
我想很多字典怎么也算success为True.
我试过了,
len(filter(lambda x: x, [i['success'] for i in s]))
Run Code Online (Sandbox Code Playgroud)
如何使用pythonic方式使其更优雅?
您可以使用sum()添加布尔值; True在数字上下文中为1,False为0:
sum(d['success'] for d in s)
Run Code Online (Sandbox Code Playgroud)
这是有效的,因为Python bool类型是int历史原因的子类.
如果你想明确它,你可以使用条件表达式,但在我看来,可读性没有改善:
sum(1 if d['success'] else 0 for d in s)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
595 次 |
| 最近记录: |