[英]Python program to count the values associated with key in a dictionary
def wut(data):
s = 0
for dic in data:
for i,value in dic.items():
if value == "True":
s += 1
return s
data = [{'id': 1, 'success': True, 'name': 'Lary'},
{'id': 2, 'success': False, 'name': 'Rabi'},
{'id': 3, 'success': True, 'name': 'Alex'}]
wutewa = data
print wut(wutewa)
您好,上面的代码在送入python导师中时不会继续检查value=="True"
,因此我不确定我哪里出错了。 我知道我可以使用sum
函数,但是我有一个东西,如果我尝试并使用尽可能多的数据结构,我将能够开发出一种思维方式来进行编码。
您正在与字符串"True"
而不是boolean True
,还可以使用带有内置sum()
的表达式以更Python的方式执行所需的操作,如下所示:
def wut(data):
return sum(1 for dic in data for v in dic.values() if v is True)
查找多少个项目是“真实”值的更简单方法是使用列表理解:
data = [{'id': 1, 'success': True, 'name': 'Lary'},
{'id': 2, 'success': False, 'name': 'Rabi'},
{'id': 3, 'success': True, 'name': 'Alex'}]
def wut(d):
return sum(sum(bool(b) for b in i.values()) for i in d)
print(wut(data))
输出:
8
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.