如何得到两个元组的总和?

时间:2017-04-07 16:07:18

标签: python python-2.7 python-3.x

无论如何总结两点不使用" class point"

输入

a= (2,5)
b= (3,4)
c= a +b 

输出

(5 , 9) 

5 个答案:

答案 0 :(得分:2)

您可以使用理解加上zip

c = tuple(a_n + b_n for a_n, b_n in zip(a, b))

如果你需要做很多事情(更不用说效率稍低),这显然很麻烦。如果你要做很多这样的计算,那么你最好使用像numpy这样的库,它允许将数组添加为第一类对象。

import numpy as np
a = np.array([2, 5])
b = np.array([3, 4])
c = a + b

如果你走numpy路线,转换为numpy数组有点贵,所以我建议你把你的点存储为数组而不是元组。

答案 1 :(得分:1)

如果您想要一种功能性方法:

t = tuple(map(sum, zip(a, b)))

答案 2 :(得分:1)

import numpy
a = (2,5)
b = (3,4)
c = tuple(numpy.asarray(a) + numpy.asarray(b)) #Tuple convert is just because this is how your output defined. you can skip it...

答案 3 :(得分:1)

复数是伪装的(2-)元组:

>>> a = 2+5j
>>> b = 3+4j
>>> c = a + b
>>> c
(5+9j)

答案 4 :(得分:0)

我的解决方案:

reduce(lambda x, y: (x[0] + y[0], x[1] + y[1]), zip(a, b))