외우지말고 이해하라.

외우는 것 보단 이해해서 내것으로 만들어 활용하기

Another-Develop/Python

04 파이썬 - sequence type, 곱집합 product

hyg4196 2021. 4. 23. 10:55
반응형

1.sequence type의 * 연산

 

다른 언어에서는..(또는 이 기능을 모르시는 분은)

보통 사람들은 for 문을 이용해 기존 스트링에 'abc'를 여러 번 붙이는 번거로운 일을 하지요. 이렇게요!

 

answer = ''
n = 반복수
for _ in range(n):
    answer += 'abc'

 

파이썬에서는 *연산자를 사용해 코드를 획기적으로 줄일 수 있습니다.

n = 반복수
answer = 'abc' * n

 

 

2. 곱집합(Cartesian product) 구하기 - product

 

다른 언어에서는..(또는 이 기능을 모르시는 분은)

보통 사람들은 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)))

 

 

반응형