본문 바로가기
파이썬

파이썬 튜플에 대한 zip 함수 도움말

by º기록 2020. 10. 5.
반응형

나는 누군가가 내가 붙어있는 문제로 나를 도울 수 있기를 바랍니다. 다음과 같은 많은 수의 튜플 (> 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]

sidenote : python3에서 zip은 lazy iterable을 반환하므로 다른 종류의 iterable과 마찬가지로 명시 적으로 목록으로 항상 전환 할 수 있습니다. list (zip (...))


 

참조 페이지 https://stackoverflow.com/questions/5693559

 

 

반응형

댓글