Python의 목록 조합
    
    
            Samyak Jain
    2023년1월30일
    
    Python
    Python List
    
- 
          
            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')
        튜토리얼이 마음에 드시나요? DelftStack을 구독하세요 YouTube에서 저희가 더 많은 고품질 비디오 가이드를 제작할 수 있도록 지원해주세요. 구독하다