python - 在列表理解中使用 sum() 时出错

标签 python python-3.x

我正在做作业,我写了下面的代码,它完成了我想要它做的事情:

A = [10, 25, 40]
B = [1, 15, 20]
R = [a + b for (a,b) in zip(A,B)]
print(R)
>>> [11, 40, 60]

但是,当我将 a + b 更改为 sum(a,b) 时,出现错误:

A = [10, 25, 40]
B = [1, 15, 20]
R = [sum(a,b) for (a,b) in zip(A,B)]
print(R)
>>> ... TypeError: 'int' object is not iterable

我知道这看起来像一个愚蠢的问题,但我搜索了一下却找不到答案。我对 Python 比较陌生,所以不太了解发生了什么。我正在尝试遍历使用 zip() 生成的生成器对象,并且该对象绝对不是 'int' 类型。

最佳答案

sum takes an iterable as a parameter .您应该执行以下操作:

R = [sum([a,b]) for (a,b) in zip(A,B)]

如果您只有两个元素,请坚持使用 + 运算符。与更直观的简单 a + b 相比,sum 函数增加了一些噪音和少量开销。

关于python - 在列表理解中使用 sum() 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29510393/

相关文章:

python - 十六进制字符串到 python 中的 SHA256 摘要

Python 类型错误 : __init__() got multiple values for argument 'master'

python - Azure Synapse 开发(代码编写)最佳实践

python - 没有 SciPy 的 PDF 和 CDF

python-3.x - Azure 组合器函数,用于使用 Python 接收数据并将其写入 Azure Blob 存储

python - 如何在 MySQL 数据库上保存 python 对象?

python - i**=2 在 python 中是什么意思?是 2^i=i 吗?

python - 使用 Google App Engine 发布订阅

python - 无法在 Gtk.TextView i Python 3 中对列进行排序

python - Numpy 将 3 维数组索引为 2 维数组