순열 일치: 긴 목록과 짧은 목록 정렬
길이가 서로 다른 두 목록이 주어지면 길이에 따라 쌍을 만드는 것을 목표로 합니다. 짧은 목록. 더 짧은 목록의 각 요소는 더 긴 목록의 요소 순열에 해당해야 합니다.
예를 들어 이름 = ['a', 'b'] 및 숫자 = [1, 2]인 경우
[('a', 1), ('b', 2)] [('b', 1), ('a', 2)]
이름 = ['a', 'b', 'c']와 같이 이름 목록이 더 긴 경우 순열은 다음을 포함하도록 확장됩니다.
[('a', 1), ('b', 2)] [('b', 1), ('a', 2)] [('a', 1), ('c', 2)] [('c', 1), ('a', 2)] [('b', 1), ('c', 2)] [('c', 1), ('b', 2)]
itertools.product를 사용한 솔루션
간단한 접근 방식은 Python 표준 라이브러리의 itertools.product 함수를 활용하는 것입니다. 입력 반복 가능 항목의 데카르트 곱을 생성하여 가능한 모든 조합을 생성합니다.
import itertools a = ["foo", "melon"] b = [True, False] c = list(itertools.product(a, b)) # Output: # [("foo", True), ("foo", False), ("melon", True), ("melon", False)]
특정 사례에서는 itertools.product를 사용하여 더 짧은 목록의 요소를 긴 목록의 순열과 쌍을 이룰 수 있습니다. 순열은 긴 목록 요소의 가능한 모든 재정렬을 나열하여 생성됩니다.
위 내용은 순열을 사용하여 짧은 목록과 긴 목록의 요소를 쌍으로 연결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!