길이가 서로 다른 목록의 순열 매칭
프로그래밍 영역에서는 길이가 서로 다른 두 목록을 처리할 때 공통적인 문제가 발생합니다. 특정 조합에서 해당 요소를 일치시키려고 합니다.
다음 시나리오를 고려하십시오. 이름과 숫자라는 두 개의 목록이 주어지고 len(이름) >= len(숫자)인 경우 작업은 가능한 모든 항목을 포함하는 튜플을 생성하는 것입니다. 긴 목록(이름)의 요소와 짧은 목록(숫자)의 요소 조합.
예:
이름 = ['a', 'b인 경우 '] 및 숫자 = [1, 2]인 경우 예상되는 출력은 다음과 같습니다.
해결책:
이 문제를 해결하는 가장 간단한 접근 방식은 Python 표준 라이브러리의 itertools.product 함수. 이 함수는 제공된 목록에 있는 요소의 데카르트 곱을 생성합니다.
코드:
<code class="python">import itertools a = ['foo', 'melon'] b = [True, False] c = list(itertools.product(a, b)) print(c)</code>
출력:
[('foo', True), ('foo', False), ('melon', True), ('melon', False)]
itertools.product를 사용하면 길이 차이에 관계없이 두 목록에서 가능한 모든 요소 조합을 효율적으로 생성할 수 있습니다. 이 기술은 주어진 문제에 대한 간단하고 간결한 해결책을 제공합니다.
위 내용은 형식성과 직접성이 다양한 몇 가지 제목 옵션은 다음과 같습니다. 공식적인: * 길이가 다른 목록의 모든 일치하는 순열을 생성하는 방법 * 서로 다른 요소를 효율적으로 매칭-의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!