나는 한 묶음의 요소를리스트에 모아서 하나의 객체를 만드는 것과 비슷한 방식으로 최종 객체를 만듭니다. reduce
에 대한 간단한 변형을 사용하려고합니다.이 작업을 수행하는 플랫 목록 대신 페어 목록을 고려하십시오. 나는의 라인을 따라 뭔가를하고 싶어 : 나는 숫자 nums
목록의 각 요소에 특정 합계에 추가 정보를 추가 할파이썬을 사용하여 쌍의 목록을 줄일 수
nums = [1, 2, 3]
reduce(lambda x, y: x + y, nums)
제외. 각 쌍 (A, B) 목록에서 (A + 나)와 같은 합계를 실행에 대한 예를 들어
nums = [(1, 0), (2, 5), (3, 10)]
reduce(lambda x, y: (x[0]+x[1]) + (y[0]+y[1]), nums)
이 작동하지 않습니다
는>>> reduce(lambda x, y: (x[0]+x[1]) + (y[0]+y[1]), nums)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 1, in <lambda>
TypeError: 'int' object is unsubscriptable
는
는 왜 작동하지 않는 이유는 무엇입니까? 요점이 아닌 평평한 목록으로 nums
을 인코딩 할 수 있다는 것을 알고 있습니다. 쌍의 목록을 반복하거나 동일한 길이의 두 목록을 동시에 반복 할 수있는 축소 작업을 만들고 싶습니다. 두 목록. 감사.
당신이이 튜플로 감소의 결과를 원하십니까? –
reduce를 사용해야합니까? 나는 단순한 것을 선호한다 sum (num [x]에 x [0] + x [1]) – cerealy