[Python] 곱집합(Cartesian product) 구하기 - product
by Roel Downey728x90
반응형
iterable으로 곱집합을 구하는 방법을 알아본다.
예) 두 스트링 'ABCD', 'xy' 의 곱집합은 Ax Ay Bx By Cx Cy Dx Dy 이다.
다른 언어에서는..(또는 이 기능을 모르시는 분은)
for 문을 이용해 두 iterable의 원소를 하나씩 곱해간다.
iterable1 = 'ABCD'
iterable2 = 'xy'
iterable3 = '1234'
for value1 in iterable1:
for value2 in iterable2:
for value3 in iterable3:
print(value1, value2, value3)
파이썬에서는
itertools.product를 이용하면, for 문을 사용하지 않고도 곱집합을 구할 수 있다.
import itertools
iterable1 = 'ABCD'
iterable2 = 'xy'
iterable3 = '1234'
print(list(itertools.product(iterable1, iterable2, iterable3)))
728x90
반응형
'Python' 카테고리의 다른 글
[Python] 파라미터 앞에 *, ** 의 의미? (*args, **kwargs) (0) | 2021.05.10 |
---|---|
[Python] 우분투(Ubuntu)에서 pip & pip3 설치(install) 방법 (0) | 2021.05.07 |
[Python] 삼각형 별찍기 - sequence type의 * 연산 (0) | 2021.05.06 |
[Python] sequence 멤버를 하나로 이어붙이기 - join (0) | 2021.05.06 |
[Python] 모든 멤버의 type 변환하기 - map (0) | 2021.05.06 |
블로그의 정보
What doing?
Roel Downey