我是编码新手,正在尝试获取这些“y”值的总和,但我尝试过的似乎都不起作用

问题描述 投票:0回答:1

所以我试图总结这段代码的“y”值,以便稍后使用它。到目前为止我尝试过的一切(很多)似乎都不起作用。我只是不知道如何解决它。 这是我的代码:

inventory = {
'x' : {'x': 1, 'y': 2, 'z': 3},
'y' : {'x': 4, 'y': 5, 'z': 6}}

for key in inventory:
  print(sum(inventory[key]['y']))

这是我得到的错误代码:

Traceback (most recent call last):
  File "/home/runner/School-project/main.py", line 6, in <module>
    print(sum(inventory[key]['y']))
TypeError: 'int' object is not iterable

我尝试了很多事情,老实说我现在都不记得了。但如果有人能帮忙那就太好了!

python key iterable
1个回答
0
投票

你非常接近!

inventory = {
'x': {'x': 1, 'y': 2, 'z': 3},
'y': {'x': 4, 'y': 5, 'z': 6}
}

sum = 0
for key in inventory:
    sum += inventory[key]['y']

print(sum)

您实际上从未将任何值加在一起,但您的想法是正确的。希望这可以帮助! sum() 函数需要一个像列表一样的可迭代对象,而您试图将它与原始整数一起使用。

这一行:

inventory[key]['y']

返回带有“y”键的每个值,并且您拥有的值是整数。

© www.soinside.com 2019 - 2024. All rights reserved.