창립일자: February-09, 2021 이 튜토리얼은 Python에서 두 목록의 요소 별 곱셈을 수행하는 다양한 방법을 보여줍니다. 동일한 차원의 정수 목록 두 개가 있고 첫 번째
목록의 요소를 두 번째 목록의 동일한 위치에있는 요소와 곱하고 동일한 차원의 결과 목록을 가져 오려고한다고 가정합니다. 파이썬에 내장 된zip()메소드는 하나 이상의 이터 러블을 취하고 이터 러블을 튜플로 집계합니다. 리스트처럼[1,2,3]과[4,5,6]은[(1, 4), (2, 5), (3, 6)]이됩니다. map()메소드를 사용하여 두 목록 모두 요소별로 액세스하고 목록 이해 메소드를 사용하여 필요한 목록을 가져옵니다. 아래 코드 예제는 목록 이해력과 함께zip()을 사용하여 1D 및 2D 목록을 여러 개 만드는 방법을 보여줍니다. 출력: 2D 목록의 곱셈 : 출력:zip()메서드를 사용하여 Python에서 두 목록 곱하기
numpy.multiply()메서드를 사용하여 Python에서 두 목록을 곱합니다
Python의NumPy 라이브러리의multiply()메소드는 두 개의 배열 / 목록을 입력으로 취하고 요소 별 곱셈을 수행 한 후 배열 / 목록을 반환합니다. 이 방법은 2D 곱셈을 위해 추가 작업을 할 필요가 없기 때문에 간단하지만,이 방법의 단점은NumPy 라이브러리 없이는 사용할 수 없다는 것입니다.
아래 코드 예제는numpy.multiply()메서드를 사용하여 Python에서 1D 및 2D 목록을 곱하는 방법을 보여줍니다.
- 1D 곱셈 :
출력:
[156 6 3 10 9 4]- 2D 곱셈 :
출력:
[[156 6 3] [ 10 9 4]]map()함수를 사용하여 Python에서 두 목록을 곱합니다
map 함수는 함수와 하나 이상의 이터 러블을 입력으로 취하고 입력 목록에 제공된 함수를 적용하여 이터 러블을 반환합니다.
두 목록을 인수로map()함수에 전달하여map()함수를 사용하여 Python에서 두 목록의 1D 및 2D 요소 별 곱셈을 수행 할 수 있습니다. 아래 코드 예제는map()을 사용하여 두 개의 Python 목록을 곱하는 방법을 보여줍니다.
1D 곱셈의 예제 코드 :
출력:
[8, 4, 10, 27, 35, 20]2D 곱셈에 대한 예제 코드 :
list1 = [[2,4,5],[3,5,4]] list2 = [[4,1,2],[9,7,5]] product = [[0]*3]*2 for x in range(len(list1)): product[x] = list(map(lambda a,b: a*b ,list1[x],list2[x])) print(product)출력:
[[8, 4, 10], [27, 35, 20]]관련 문장 - Python List
◀ 20. 2 리스트의 할당과 복사20.4 반복문으로 리스트의 요소를 모두 출력하기 ▶︎
20.3 리스트 연산하기
이번에는 리스트에 덧셈과 곱셈 연산자를 사용해보겠습니다. 먼저 덧셈 연산자입니다.
- 리스트1 + 리스트2
>>> a = [10, 20, 30] >>> b = [1, 2, 3] >>> c = a + b >>> c [10, 20, 30, 1, 2, 3]
+ 연산자는 리스트를 서로 연결하며 extend와 동작이 같습니다.
이제 곱셈 연산자입니다.
- 리스트 * 정수
>>> a = [10, 20, 30] >>> b = a * 3 >>> b [10, 20, 30, 10, 20, 30, 10, 20, 30]
* 연산자는 특정 횟수만큼 리스트의 요소를 반복합니다(0 또는 음수를 곱하면 빈 리스트가 나오며 실수는 곱할 수 없습니다).
◀ 20. 2 리스트의 할당과 복사20.4 반복문으로 리스트의 요소를 모두 출력하기 ▶︎