[Python] itertools - permutations, product, combinations, combinations_with_replacement

AOD·2023년 12월 28일
0

Python

목록 보기
3/7
post-thumbnail

1. 순열

n개에서 k개 나열 시 순서를 가지고 나열한다.

from itertools import permutations

arr = ["A","B","C","D"]
print(list(permutations(arr,2)))

# [('A', 'B'), ('A', 'C'), ('A', 'D'), ('B', 'A'), ('B', 'C'),
#  ('B', 'D'), ('C', 'A'), ('C', 'B'), ('C', 'D'), ('D', 'A'),
#  ('D', 'B'), ('D', 'C')]

2. 중복순열

n개에서 k개 나열 시 순서를 가지며, 중복된 요소를 선택할 수 있다.

from itertools import product

arr = ["A","B","C","D"]
print(list(product(arr,repeat = 2)))

# [('A', 'A'), ('A', 'B'), ('A', 'C'), ('A', 'D'), ('B', 'A'),
#  ('B', 'B'), ('B', 'C'), ('B', 'D'), ('C', 'A'), ('C', 'B'),
#  ('C', 'C'), ('C', 'D'), ('D', 'A'), ('D', 'B'), ('D', 'C'),
#  ('D', 'D')]

3. 조합

n개에서 k개 나열 시 순서에 상관없이 나열한다.

from itertools import combinations

arr = ["A","B","C","D"]
print(list(combinations(arr,2)))

# [('A', 'B'), ('A', 'C'), ('A', 'D'),
#  ('B', 'C'), ('B', 'D'), ('C', 'D')]

4. 중복조합

n개에서 k개 나열 시 순서에 상관없으며, 중복된 요소를 선택할 수 있다.

from itertools import combinations_with_replacement

arr = ["A","B","C","D"]
print(list(combinations_with_replacement(arr,2)))

# [('A', 'A'), ('A', 'B'), ('A', 'C'), ('A', 'D'), ('B', 'B'),
#  ('B', 'C'), ('B', 'D'), ('C', 'C'), ('C', 'D'), ('D', 'D')]
profile
No end point for Growth. 2023.01.02 ~ SoftWare공부 시작

0개의 댓글

관련 채용 정보