嵌套字典中的 Python sum 值

对于我的第一个实际项目,我试图创建一个在 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,我想对这些值求和并将它们保存到等于其解的变量中。


梦里花落0921
浏览 219回答 3
3回答

PIPIONE

我认为你需要:sum_ = 0for k,v in clickers.items():    if v:        # to ignore None         try:     # this to avoid key error            sum_ += v['owned']        except:            passprint(sum_)

拉莫斯之舞

您可以将该sum函数与生成器表达式一起使用:sum(d['owned'] for d in clickers.values() if d)这将返回:15

慕标5832272

可以这样做。total = 0for key ,value in clickers.items():  if value and 'owned' in value.keys():    total += value['owned']print(total)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python