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