gpt4 book ai didi

python - zip 函数帮助处理元组

转载 作者:太空狗 更新时间:2023-10-29 21:16:57 24 4
gpt4 key购买 nike

我希望有人能帮助我解决我遇到的问题。我有大量元组 (>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(...))

(感谢 Seganku 在被其他编辑三次拒绝的编辑示例中发现错误)

关于python - zip 函数帮助处理元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5693559/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com