【问题标题】:Python: How do I sum integer values in a dictionary? [duplicate]Python:如何对字典中的整数值求和? [复制]
【发布时间】:2020-09-19 08:08:12
【问题描述】:

我正在尝试编写一个简单的程序,它采用 {item: integer} 的字典(清单),然后对所有键的整数值求和。

目前,这是我所拥有的,但它不起作用:

inventory = {'rope': 1, 'torch': 6, 'gold coin': 42, 'dagger': 1, 'arrow': 125, 'bow': 1}

def displayInventory(inventory):
    print('Welcome to your pack. Currently you have:\n')
    total_items = 0
    for k,v in inventory.items():
        total_items = total_items + v.get(v, 0)
    return total_items
    print(total_items)

这是我得到的错误:

Traceback(最近一次调用最后一次): 文件“C:\Users\Kyle\Documents\displayInventory.py”,第 16 行,在 displayInventory(库存) 文件“C:\Users\Kyle\Documents\displayInventory.py”,第 7 行,在 displayInventory 中 total_items = total_items + v.get(v, 0) AttributeError: 'int' 对象没有属性 'get'

我正在寻找一个人来指导我了解我所缺少的东西,而不是简单地提供正确的代码来实现这一点,因为如果我不明白发生了什么,我就无法学习。

非常感谢任何见解/指导。

提前致谢。

【问题讨论】:

  • sum(inventory.values()) 适合你吗?
  • sum(inventory.values()) 确实有效,谢谢。

标签: python dictionary sum


【解决方案1】:

在您的 for 循环中,您已经在解构每一对“k, v”代表键和值。因此,您收到该错误是因为您试图从价值中获取价值。

只需将 for 循环的主体更改为 total_items += v,您就会得到所需的内容。

【讨论】:

  • 好的,谢谢,也可以!
猜你喜欢
  • 2016-12-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-31
  • 2022-11-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多