>백엔드 개발 >파이썬 튜토리얼 >순열을 사용하여 짧은 목록과 긴 목록의 요소를 쌍으로 연결하는 방법은 무엇입니까?

순열을 사용하여 짧은 목록과 긴 목록의 요소를 쌍으로 연결하는 방법은 무엇입니까?

DDD
DDD원래의
2024-10-29 01:47:02608검색

How to Pair Elements from Short and Long Lists Using Permutations?

순열 일치: 긴 목록과 짧은 목록 정렬

길이가 서로 다른 두 목록이 주어지면 길이에 따라 쌍을 만드는 것을 목표로 합니다. 짧은 목록. 더 짧은 목록의 각 요소는 더 긴 목록의 요소 순열에 해당해야 합니다.

예를 들어 이름 = ['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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.