Python의 목록 조합
Samyak Jain
2023년1월30일
-
itertools.combinations()
함수를 사용하여 Python에서 목록 조합 찾기 -
itertools.combinations_with_replacement()
함수를 사용하여 Python에서 목록 조합 찾기 -
사용자 정의
powerset()
함수를 생성하여 Python에서 목록 조합 찾기
조합은 요소 모음에서 가능한 배열 수를 결정하는 기술입니다. 요소의 조합에서 요소는 임의의 순서로 선택됩니다.
이 자습서에서는 Python에서 목록 요소의 전체 조합을 찾습니다.
itertools.combinations()
함수를 사용하여 Python에서 목록 조합 찾기
itertools
모듈의combinations(list_name, x)
함수는 목록 이름과 숫자 ‘x’를 매개 변수로 취하고 한 요소의 가능한 모든 조합을 포함하는 길이 ‘x’의 튜플 목록을 반환합니다. 다른 요소와 함께 목록.
예를 들면
from itertools import combinations
A = [10, 5, "Hi"]
temp = combinations(A, 2)
for i in list(temp):
print(i)
출력:
(10, 5)
(10, 'Hi')
(5, 'Hi')
정렬 된 목록은 정렬 된 순서로 조합 튜플을 출력합니다. combinations()
함수를 사용하여 목록의 한 요소를 자신과 결합 할 수 없습니다.
itertools.combinations_with_replacement()
함수를 사용하여 Python에서 목록 조합 찾기
itertools
모듈의 함수combinations_with_replacement(list_name, x)
는 목록 이름과 숫자 ‘x’를 매개 변수로 취하고 목록 요소의 가능한 모든 조합을 포함하는 길이 ‘x’의 튜플 목록을 반환합니다. 이 기능을 사용하면 목록의 한 요소를 자신과 결합 할 수 있습니다.
예를 들면
from itertools import combinations_with_replacement
A = [1, 5, "Hi"]
temp = combinations_with_replacement(A, 2)
for i in list(temp):
print(i)
출력:
(1, 1)
(1, 5)
(1, 'Hi')
(5, 5)
(5, 'Hi')
('Hi', 'Hi')
사용자 정의powerset()
함수를 생성하여 Python에서 목록 조합 찾기
수학에서 모든 집합의 거듭 제곱 집합은 빈 집합과 함께 주어진 집합의 가능한 모든 하위 집합을 포함하는 집합입니다. 집합S = {2, 5, 10}
의 거듭 제곱 집합은{{}, {2}, {5}, {10}, {2, 5}, {2, 10}, {5, 10}, {2, 5, 10}}
입니다. 다음 함수powerset()
는 목록의 모든 길이 ‘r’을 반복하고 목록 요소의 가능한 모든 조합을 인쇄하는 데 사용됩니다.
예를 들면
from itertools import chain, combinations
def powerset(list_name):
s = list(list_name)
return chain.from_iterable(combinations(s, r) for r in range(len(s) + 1))
A = [60, 7, "Hi"]
for x in powerset(A):
print(x)
출력:
()
(1,)
(5,)
('Hi',)
(1, 5)
(1, 'Hi')
(5, 'Hi')
(1, 5, 'Hi')