对于我的第一个实际项目,我试图创建一个在 Python IDLE 中运行的简单增量游戏。我遇到了一个问题,我需要在嵌套字典中获取多个值的总和并且卡住了。这是我正在使用的字典:clickers = {'': None,'wooden_sword': { 'owned': 5, 'power': 1, 'price': 5, },'iron_sword': { 'owned': 10, 'power': 2.5, 'price': 10, },}我想知道是否有可能获得owned值的总和并将其保存到变量中。keywooden_sword的owned值等于 5,keyiron_sword的owned值等于 10,我想对这些值求和并将它们保存到等于其解的变量中。
3 回答
PIPIONE
TA贡献1829条经验 获得超9个赞
我认为你需要:
sum_ = 0
for k,v in clickers.items():
if v: # to ignore None
try: # this to avoid key error
sum_ += v['owned']
except:
pass
print(sum_)
拉莫斯之舞
TA贡献1820条经验 获得超10个赞
您可以将该sum
函数与生成器表达式一起使用:
sum(d['owned'] for d in clickers.values() if d)
这将返回:
15
慕标5832272
TA贡献1966条经验 获得超4个赞
可以这样做。
total = 0
for key ,value in clickers.items():
if value and 'owned' in value.keys():
total += value['owned']
print(total)
添加回答
举报
0/150
提交
取消