[Python] 순열 & 조합

JinJinJara·2023년 12월 28일
0

TIL

목록 보기
18/19

permutations : 순열

iterable 객체에서 r개의 데이터를 뽑아 나열

from itertools import permutations
 
num = [1, 2, 3]
res = list(permutations(num, 2))
print(res)

# res
# [(1, 2), (1, 3), (2, 1), (2, 3), (3, 1), (3, 2)]

combinations : 조합

iterable 객체에서 r개의 데이터를 선택해 순서 상관없이 나열

from itertools import combinations
 
num = [1, 2, 3]
res = list(combinations(num, 2))
print(res)

# res
# [(1, 2), (1, 3), (2, 3)]

product : 중복 순열

iterable 객체에서 r개의 데이터를 뽑아 나열

  • 같은 원소 중복 선택 가능 (다시 뽑기)
from itertools import product
 
num = [1, 2, 3]
res = list(product(num, repeat=2))
print(res)

# res
# [(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3)]

combination_with_replacement : 중복 조합

iterable 객체에서 r개의 데이터를 선택해 순서 상관없이 나열

  • 같은 원소 중복 선택 가능 (중복 선택)
from itertools import combinations_with_replacement
 
num = [1, 2, 3]
res = list(combinations_with_replacement(num, 2))
print(res)

# res
# [(1, 1), (1, 2), (1, 3), (2, 2), (2, 3), (3, 3)]

0개의 댓글