[python] 순열과 조합 정리

김우경·2021년 1월 9일
0

itertools

permutations
: r개의 데이터를 뽑아서 일렬로 나열하는 모든 경우

combinations
: r개의 데이터를 뽑아서 순서 상관없이 나열하는 모든 경우

product
: r개의 데이터를 뽑아서 일렬로 나열하는데 중복 허용

combinations_with_replacement

: r개의 데이터를 뽑아서 순서 상관없이 나열하는데 중복 허용

from itertools import permutations, combinations, product, combinations_with_replacement

data = ['A', 'B', 'C']

perm = list(permutations(data, 3))
[('A', 'B', 'C'), ('A', 'C', 'B'), ('B', 'A', 'C'), ('B', 'C', 'A'), ('C', 'A', 'B'), ('C', 'B', 'A')]

comb = list(combinations(data, 3))
[('A', 'B', 'C')]

prod = list(product(data, repeat = 2))
[('A', 'A'), ('A', 'B'), ('A', 'C'), ('B', 'A'), ('B', 'B'), ('B', 'C'), ('C', 'A'), ('C', 'B'), ('C', 'C')]

comb_w = list(combinations_with_replacement(data, 2))
[('A', 'A'), ('A', 'B'), ('A', 'C'), ('B', 'B'), ('B', 'C'), ('C', 'C')]
profile
Hongik CE

0개의 댓글