[python] 두 LISTS 값의 합을 새 LIST에 추가

다음 두 가지 목록이 있습니다.

first = [1,2,3,4,5]
second = [6,7,8,9,10]

이제이 두 목록의 항목을 새 목록에 추가하고 싶습니다.

출력은

third = [7,9,11,13,15]



답변

zip기능은 여기에 유용하며 목록 이해와 함께 사용됩니다.

[x + y for x, y in zip(first, second)]

두 개의 목록 대신 목록 목록이있는 경우 :

lists_of_lists = [[1, 2, 3], [4, 5, 6]]
[sum(x) for x in zip(*lists_of_lists)]
# -> [5, 7, 9]


답변

에서 문서

import operator
list(map(operator.add, first,second))


답변

두 목록 ab길이가 같다고 가정하면 우편 번호, numpy 또는 다른 것이 필요하지 않습니다.

파이썬 2.x 및 3.x :

[a[i]+b[i] for i in range(len(a))]


답변

numpy의 기본 동작은 componentwise입니다.

import numpy as np
np.add(first, second)

어떤 출력

array([7,9,11,13,15])


답변

이것은 여러 목록으로 확장됩니다.

[sum(sublist) for sublist in itertools.izip(*myListOfLists)]

귀하의 경우에는, myListOfLists[first, second]


답변

다음 코드를 시도하십시오.

first = [1, 2, 3, 4]
second = [2, 3, 4, 5]
third = map(sum, zip(first, second))


답변

가장 쉬운 방법과 빠른 방법은 다음과 같습니다.

three = [sum(i) for i in zip(first,second)] # [7,9,11,13,15]

또는 numpy sum을 사용할 수 있습니다.

from numpy import sum
three = sum([first,second], axis=0) # array([7,9,11,13,15])