Python 嵌套字典中的求和值

标签 python python-3.x dictionary sum

对于我的第一个实际项目,我尝试创建一个在 Python IDLE 中运行的简单增量游戏。我遇到了一个问题,我需要获取嵌套字典中多个值的总和,但遇到了困难。

这是我正在使用的字典:

clickers = {
'': None,
'wooden_sword': {
    'owned': 5,
    'power': 1,
    'price': 5,
    },
'iron_sword': {
    'owned': 10,
    'power': 2.5,
    'price': 10,
    },
}

我想知道是否可以仅获取拥有值的总和并将其保存到变量中。

key wooden_swordowned值等于5,并且 key iron_swordowned值等于 10,我想对这些值求和并将它们保存到等于其解的变量中。

最佳答案

我认为你需要:

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_)

关于Python 嵌套字典中的求和值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54473144/

相关文章:

python - 两个表的行级比较

python - 如何获取函数所属的变量列表?

json - Swift 中的 Alamofire : converting response data in usable JSON dictionary

python - 根据 groupby 值从 Pandas 数据框中删除行

python - 使用 PySpark 对多列执行滞后

python - 二维数组的 Numpy Delete

python - 将列表的列表变成可以转换为Json的字典

具有多个值的 Java 映射 : container class or multiple maps?

python - 验证文件是否已准备好在 py3k 中读取

python - 如何使用 SHELL_PLUS_DONT_LOAD? django-extensions==1.6.1, Django==1.9.2