我知道如何在 Python 中将字典转换为列表,但不知何故,当我尝试获取结果列表的总和时,出现错误 'dict_values' object is not subscriptable
。另外,我打算只对列表中的几个项目求和。
dict = {A:1, B:2, C:3, D:4}
arr = dict.values()
the_sum = sum(arr[1:3])
经过仔细检查,我注意到当打印出结果列表时,它总是给出 dict_values(......)
作为我无法删除的输出。我该如何解决这个问题?
原文由 quotable7 发布,翻译遵循 CC BY-SA 4.0 许可协议
在 python-3.X 中
dict.values
不返回list
对象,就像它过去在 python-2.X 中的执行方式一样。在 python-3.x 中,它返回一个dict-value
对象,它是一个类似集合的对象,并使用哈希表存储其不适合索引的项目。此功能除了支持大多数set
属性外,还针对成员资格检查等操作进行了非常优化(使用in
运算符)。如果要获取列表对象,则需要将结果传递给
list()
函数,将其转换为列表。