我的数据结构如下:
all= {
'part1': {'act1': [0, 0], 'act2': [100, 0]},
'part2': {'act1': [25, 1], 'act2': [100, 1]},
'part3': {'act1': [25, 0], 'act2': [0, 1]},
'part4': {'act1': [0, 0], 'act2': [0, 1]}
}
我的目标是得到列表中所有第一项的全局和
到目前为止,我只获得了顶级字典中每个键的总和,代码如下:
for partData in all.values():
depPart = 0
for act in partData.keys():
depPart += partData[act][0]
print(depPart)
它回来了
100
125
25
0
我想得到250英镑
为了得到这个和,我每做一次进一步循环的尝试都会导致错误
是循环的方式来做这件事,如果是如何?还是有其他更好的方法? 谢谢
可以将
sum
函数与一个生成器表达式一起使用,该表达式遍历dict和sub dict的值:这将返回:
请注意,
all
是一个内置函数名,因此我将问题中的all
变量重命名为a
原因是首先
在第2行
depPart=0
每次您从所有print(depPart)
中获得一个值时,每次它对每个值中的每个值求和时,都会打印值,这样您的代码就应该希望有帮助
您可以将列表理解与
sum
一起使用:输出:
相关问题 更多 >
编程相关推荐