>백엔드 개발 >파이썬 튜토리얼 >Zip 및 List Comprehension을 사용하여 Python에서 목록을 어떻게 인터리브할 수 있습니까?

Zip 및 List Comprehension을 사용하여 Python에서 목록을 어떻게 인터리브할 수 있습니까?

DDD
DDD원래의
2024-11-15 21:06:03229검색

How can I Interleave Lists in Python using Zip and List Comprehension?

목록 인터리빙을 위해 Zip 및 목록 이해 활용

Python에서 동일한 길이의 목록을 인터리빙하는 것은 일반적인 작업입니다. 두 개의 목록 [1,2,3]과 [10,20,30]이 주어지면 목표는 이를 [1,10,2,20,3,30]으로 변환하는 것입니다.

해결책 Zip 및 List Comprehension 사용:

목록 인터리브에 대한 간결한 접근 방식은 zip 기능과 List Comprehension을 활용하는 것입니다. 다음 코드는 작업을 수행합니다.

[val for pair in zip(l1, l2) for val in pair]

이 코드에서:

  • zip(l1, l2)는 두 입력 목록의 요소 쌍을 반복합니다.
  • 외부 목록 이해([val for pair in zip(l1, l2)])는 각각에 대해 새 목록을 생성합니다. pair.
  • 내부 목록 이해([val for val in pair])는 각 값 쌍에 대한 새 목록을 생성합니다.

여러 목록 인터리빙을 위한 확장:

인터리빙할 목록이 여러 개(N개 목록) 있는 경우 내부의 * 연산자를 사용하여 동일한 개념을 확장할 수 있습니다. zip:

lists = [l1, l2, ...]
[val for tup in zip(*lists) for val in tup]

이 코드에서:

  • zip(*lists)은 모든 입력 목록에서 해당 요소의 튜플을 반복합니다.
  • 외부 목록 이해 ([val for tup in zip(*lists)]) 각각에 대해 새 목록을 생성합니다. tuple.
  • 내부 목록 이해([val for val in tup])는 값의 각 튜플에 대해 새 목록을 생성합니다.

위 내용은 Zip 및 List Comprehension을 사용하여 Python에서 목록을 어떻게 인터리브할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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