4

我已经多次遇到这个问题,我找不到一个好的解决方案来将两个元组的内容加在一起。做的事情:

a = (1, 2)
b = (3, 4)
c = (a[0]+b[0], a[1]+b[1])

我想我看到了一种只做一次的语法,但我不记得该怎么做。

4

3 回答 3

3

这也有效:

>>> a = (1,2)
>>> b = (3,4)
>>> c = map(sum, zip(a,b))
>>> c
[4, 6]

它应该适用于包含任意数量数字的任意数量的列表。

于 2012-05-21T17:28:13.460 回答
1

一个班轮:

map(lambda x, y: x+ y, a, b)

我相信这是最有效的方法。您还可以导入operator.add以避免 lambda 函数。对我来说,我更喜欢更干净的全局命名空间。

于 2012-05-21T17:28:11.227 回答
0

使用生成器理解:

a = (1, 2)
b = (3, 4)
result = [x + y for x, y in zip(a, b)]

[4, 6]

于 2015-11-22T11:31:16.333 回答