zip函数帮助元组
我希望有人可以帮助我解决我遇到的问题。我有大量的元组(> 500),看起来像这样:
(2,1,3,6)
(1,2,5,5)
(3,0,1,6)
(10,1,1,4)
(0,3,3,0)
我的代码片段显示为:
sum1 = (A,B,C,D) # creates a tuple of sums of (A,B,C,D)
mysum = map(sum, zip(A, B, C, D))
print(mysum)
我意识到上面的代码是不正确的。我正在尝试找到一种方法,使用zip函数将所有A值,B的所有值,C的所有值以及D的所有值相加。例如,我要打印如下内容:
Asum = 16
Bsum = 7
Csum = 13
Dsum = 21
有人可以帮
忙吗?非常感谢你花时间陪伴。
-
>>> zip((1,2,3),(10,20,30),(100,200,300)) [(1, 10, 100), (2, 20, 200), (3, 30, 300)] >>> [sum(x) for x in zip((1,2,3),(10,20,30),(100,200,300))] [111, 222, 333]
为此,使用任意大的元组集:
>>> myTuples = [(1,2,3), (10,20,30), (100,200,300)] >>> [sum(x) for x in zip(*myTuples)] [111, 222, 333]
旁注:在python3中,请注意zip返回一个懒惰的可迭代对象,您可以随时将其像其他任何可迭代对象一样显式地转换为列表:list(zip(…))