如何将两个等长元组成对求和

Pet*_*mit 6 python tuples

如何获得两个相等长度元组的成对总和?例如,如果我有(0,-1,7)和(3,4,-7)我想有(3,3,0)作为答案.

Man*_*dan 13

tuple(map(lambda (x, y): x + y, zip((0,-1,7), (3,4,-7))))
Run Code Online (Sandbox Code Playgroud)

如果您愿意避免map,lambda那么您可以这样做:

tuple(x + y for x,y in zip((0,-1,7), (3,4,-7)))
Run Code Online (Sandbox Code Playgroud)

编辑:正如其中一个答案所指出的,您可以使用sum而不是显式拆分返回的元组zip.因此,您可以重写上面的代码示例,如下所示:

tuple(sum(t) for t in zip((0,-1,7), (3,4,-7)))
Run Code Online (Sandbox Code Playgroud)

参考:zip,map,sum.


pil*_*her 6

使用sum():

>>> tuple(sum(pair) for pair in zip((0,-1,7), (3,4,-7)))
Run Code Online (Sandbox Code Playgroud)

要么

>>> tuple(map(sum, zip((0,-1,7), (3,4,-7))))
Run Code Online (Sandbox Code Playgroud)