서로 다른 목록의 순열을 효율적으로 페어링
목표는 다음의 페어링 수에 따라 두 목록의 요소에 대한 고유한 조합을 생성하는 것입니다. 더 짧은 목록의 길이. 이 개념을 설명해 보겠습니다.
두 개의 목록을 고려해 보세요.
names = ['a', 'b'] numbers = [1, 2]
원하는 출력은 다음과 같습니다.
[('a', 1), ('b', 2)] [('b', 1), ('a', 2)]
이를 달성하려면 Python의 강력한 기능을 활용할 수 있습니다. itertools.product. 작동 방식은 다음과 같습니다.
<code class="python">from itertools import product a = ['foo', 'melon'] b = [True, False] c = list(product(a, b))</code>
제품을 활용하면 가능한 모든 쌍별 조합을 얻을 수 있습니다.
[('foo', True), ('foo', False), ('melon', True), ('melon', False)]
한 목록이 다른 목록보다 긴 시나리오(예: 이름에 세 개가 있는 경우) 요소는 2개만 있음) 순열은 더 짧은 목록을 기반으로 계산됩니다.
names = ['a', 'b', 'c'] numbers = [1, 2]
예상 출력:
[('a', 1), ('b', 2)] [('b', 1), ('a', 2)] [('a', 1), ('c', 2)] [('c', 1), ('a', 2)] [('b', 1), ('c', 2)] [('c', 1), ('b', 2)]
이 접근 방식을 사용하면 필요한 모든 가능한 조합을 얻을 수 있습니다. 입력 목록의 상대적 길이에 관계없이 특정 사용 사례에 적합합니다.
위 내용은 서로 다른 길이의 목록에서 순열을 효율적으로 쌍으로 연결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!