파이썬 - itertools

seongcheollee·2024년 2월 19일

순열(eprmutations)

순서가 있는 집합에서 원소들을 특정한 순서로 늘어놓은 것.

from itertools import permutations

items = [1, 2, 3]
for perm in permutations(items, 3):
    print(perm)
결과

(1, 2, 3)
(1, 3, 2)
(2, 1, 3)
(2, 3, 1)
(3, 1, 2)
(3, 2, 1)


조합(combination)

조합(combination)은 주어진 집합에서 일부 원소를 선택하여 만들어지는 부분집합. 이때 순서는 중요하지 않습니다

items = [1, 2, 3]
for combo in combinations(items, 2):
    print(combo)
결과

(1, 2)
(1, 3)
(2, 3)


product()

  • 중복 순열
items = [1, 2, 3]
for perm in product(items, repeat=2):
    print(perm)

(1, 1)
(1, 2)
(1, 3)
(2, 1)
(2, 2)
(2, 3)
(3, 1)
(3, 2)
(3, 3)


combinations_with_replacement()

  • 선택한 원소 중복사용 가능
items = [1, 2, 3]
for combo in combinations_with_replacement(items, 2):
    print(combo)
결과

(1, 1)
(1, 2)
(1, 3)
(2, 2)
(2, 3)
(3, 3)

0개의 댓글