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

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

Patricia Arquette
Patricia Arquette원래의
2024-12-02 05:44:09869검색

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

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