[PYTHON] 새로운 LIST에 두 개의 LIST 값 합계를 더한다.
PYTHON새로운 LIST에 두 개의 LIST 값 합계를 더한다.
나는 다음의 두 가지 목록을 가지고있다.
first = [1,2,3,4,5]
second = [6,7,8,9,10]
이제 두 목록의 항목을 새 목록에 추가하고 싶습니다.
출력은
three = [7,9,11,13,15]
해결법
-
==============================
1.zip 함수는 여기에서 유용하며 목록 이해와 함께 사용됩니다.
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]
-
==============================
2.문서
문서
import operator map(operator.add, first,second)
-
==============================
3.리스트 a와 b가 모두 같은 길이라고 가정하면 zip, numpy 또는 다른 것이 필요하지 않습니다.
리스트 a와 b가 모두 같은 길이라고 가정하면 zip, numpy 또는 다른 것이 필요하지 않습니다.
Python 2.x 및 3.x :
[a[i]+b[i] for i in range(len(a))]
-
==============================
4.이것은 임의의 수의 목록으로 확장됩니다.
이것은 임의의 수의 목록으로 확장됩니다.
[sum(sublist) for sublist in itertools.izip(*myListOfLists)]
귀하의 경우, myListOfLists [첫 번째, 두 번째]
-
==============================
5.numpy의 기본 동작은 componentwise를 추가하는 것입니다.
numpy의 기본 동작은 componentwise를 추가하는 것입니다.
import numpy as np np.add(first, second)
어느 출력
array([7,9,11,13,15])
-
==============================
6.다음 코드를 시도해보십시오.
다음 코드를 시도해보십시오.
first = [1, 2, 3, 4] second = [2, 3, 4, 5] third = map(sum, zip(first, second))
-
==============================
7.이렇게하는 쉬운 방법과 빠른 방법은 다음과 같습니다.
이렇게하는 쉬운 방법과 빠른 방법은 다음과 같습니다.
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])
-
==============================
8.
first = [1, 2, 3, 4, 5] second = [6, 7, 8, 9, 10] three = map(lambda x,y: x+y,first,second) print three Output [7, 9, 11, 13, 15]
-
==============================
9.여기에 또 다른 방법이 있습니다. 파이썬의 내부 __add__ 함수를 사용합니다.
여기에 또 다른 방법이 있습니다. 파이썬의 내부 __add__ 함수를 사용합니다.
class SumList(object): def __init__(self, this_list): self.mylist = this_list def __add__(self, other): new_list = [] zipped_list = zip(self.mylist, other.mylist) for item in zipped_list: new_list.append(item[0] + item[1]) return SumList(new_list) def __repr__(self): return str(self.mylist) list1 = SumList([1,2,3,4,5]) list2 = SumList([10,20,30,40,50]) sum_list1_list2 = list1 + list2 print(sum_list1_list2)
산출
[11, 22, 33, 44, 55]
-
==============================
10.zip ()을 사용하면 두 배열을 서로 "interleave"한 다음 map ()을 사용하여 iterable의 각 요소에 함수를 적용 할 수 있습니다.
zip ()을 사용하면 두 배열을 서로 "interleave"한 다음 map ()을 사용하여 iterable의 각 요소에 함수를 적용 할 수 있습니다.
>>> a = [1,2,3,4,5] >>> b = [6,7,8,9,10] >>> zip(a, b) [(1, 6), (2, 7), (3, 8), (4, 9), (5, 10)] >>> map(lambda x: x[0] + x[1], zip(a, b)) [7, 9, 11, 13, 15]
-
==============================
11.내 대답은 9 월 25 일 3 월 17 일에 답변 한 Thiru 's와 반복됩니다.
내 대답은 9 월 25 일 3 월 17 일에 답변 한 Thiru 's와 반복됩니다.
더 간단하고 빨랐습니다. 그의 해결책은 다음과 같습니다.
너 질책이 필요해!
-
==============================
12.리스트에 나머지 값들을 추가하고 싶다면 이것을 사용할 수 있습니다 (이것은 Python 3.5에서 작동합니다)
리스트에 나머지 값들을 추가하고 싶다면 이것을 사용할 수 있습니다 (이것은 Python 3.5에서 작동합니다)
def addVectors(v1, v2): sum = [x + y for x, y in zip(v1, v2)] if not len(v1) >= len(v2): sum += v2[len(v1):] else: sum += v1[len(v2):] return sum #for testing if __name__=='__main__': a = [1, 2] b = [1, 2, 3, 4] print(a) print(b) print(addVectors(a,b))
-
==============================
13.
first = [1,2,3,4,5] second = [6,7,8,9,10] #one way third = [x + y for x, y in zip(first, second)] print("third" , third) #otherway fourth = [] for i,j in zip(first,second): global fourth fourth.append(i + j) print("fourth" , fourth ) #third [7, 9, 11, 13, 15] #fourth [7, 9, 11, 13, 15]
-
==============================
14.여기에 또 다른 방법이 있습니다. 그것은 나를 위해 잘 작동합니다.
여기에 또 다른 방법이 있습니다. 그것은 나를 위해 잘 작동합니다.
N=int(input()) num1 = list(map(int, input().split())) num2 = list(map(int, input().split())) sum=[] for i in range(0,N): sum.append(num1[i]+num2[i]) for element in sum: print(element, end=" ") print("")
-
==============================
15.
j = min(len(l1), len(l2)) l3 = [l1[i]+l2[i] for i in range(j)]
-
==============================
16.아마도 가장 간단한 접근법 일 것입니다.
아마도 가장 간단한 접근법 일 것입니다.
first = [1,2,3,4,5] second = [6,7,8,9,10] three=[] for i in range(0,5): three.append(first[i]+second[i]) print(three)
-
==============================
17.이 방법을 사용할 수는 있지만 두 목록의 크기가 같은 경우에만 작동합니다.
이 방법을 사용할 수는 있지만 두 목록의 크기가 같은 경우에만 작동합니다.
first = [1, 2, 3, 4, 5] second = [6, 7, 8, 9, 10] third = [] a = len(first) b = int(0) while True: x = first[b] y = second[b] ans = x + y third.append(ans) b = b + 1 if b == a: break print third
from https://stackoverflow.com/questions/14050824/add-sum-of-values-of-two-lists-into-new-list by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] 파이썬 3 웹 스크래핑에서 HTTP 오류 403 (0) | 2018.10.10 |
---|---|
[PYTHON] 어떻게 파이썬 3으로 INI 파일을 읽고 쓰는가? (0) | 2018.10.10 |
[PYTHON] 평면 목록에 중복 된 항목이 있는지 어떻게 확인합니까? (0) | 2018.10.10 |
[PYTHON] 어떻게 파이썬을 사용하여 SQLite에 행을 삽입 한 후 삽입 된 ID를 검색 할 수 있습니까? (0) | 2018.10.10 |
[PYTHON] 모든 목록 요소에서 int () 함수를 호출 하시겠습니까? (0) | 2018.10.10 |