> 백엔드 개발 > 파이썬 튜토리얼 > Python에서 길이가 다른 두 목록을 인터리브하는 방법은 무엇입니까?

Python에서 길이가 다른 두 목록을 인터리브하는 방법은 무엇입니까?

Patricia Arquette
풀어 주다: 2024-12-02 05:44:09
원래의
863명이 탐색했습니다.

How to Interleave Two Lists of Unequal Lengths in Python?

Python에서 두 목록을 교대로 인터레이스

두 목록을 교대로 결합할 때 첫 번째 목록에 두 번째 목록보다 요소가 하나 더 많습니다. , Python은 여러 접근 방식을 제공합니다.

한 가지 방법은 목록:

list1 = ['f', 'o', 'o']
list2 = ['hello', 'world']
result = [None]*(len(list1)+len(list2))
result[::2] = list1
result[1::2] = list2
로그인 후 복사

이 접근 방식은 입력 목록의 결합된 길이와 동일한 길이의 새 목록을 생성합니다. list1의 짝수 인덱스 값과 list2의 홀수 인덱스 값을 새 목록에 할당하여 원하는 인터리빙 효과를 얻습니다.

또는 itertools 모듈의 zip_longest() 함수를 사용할 수 있습니다.

from itertools import zip_longest
result = list(zip_longest(list1, list2, fillvalue=None))
로그인 후 복사

zip_longest()는 목록을 요소별로 결합하여 누락된 값을 지정된 채우기 값으로 채웁니다. None을 채우기 값으로 제공하므로 요소가 하나 더 적은 목록은 None 값으로 채워져 원하는 인터레이스를 달성합니다. zip_longest()에서 반환된 생성기를 목록으로 변환하면 최종 결과를 얻을 수 있습니다.

위 내용은 Python에서 길이가 다른 두 목록을 인터리브하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿