짧은 반복, 같은 길이가없는 두 개의리스트에 가입

vdkd :

나는이 개 목록이 :

l1 = [1,2,3,4,5]
l2 = ["a","b","c"]

내 예상 출력 :

l3 = [(1,"a"),(2,"b"),(3,"c"),(4,"a"),(5,"b")]

그래서 기본적으로 나는이 목록에 가입 찾고 있어요 그들은 같은 아이폰에 없을 때 나는 처음부터 반복하여 다른 목록에서 확산 항목에 있습니다.

나는 시도했다 :

(우편 번호를 이용하여)이지만 동일한 길이로 조인이 경우에 나쁜

>>> list(zip(l1,l2))
[(1, 'a'), (2, 'b'), (3, 'c')]
원래 :

당신은 사용할 수 있습니다 itertools.cycle그래서 zip모두에서 집계 요소 l1자전거 버전 l2:

from itertools import cycle

list(zip(l1, cycle(l2)))
# [(1, 'a'), (2, 'b'), (3, 'c'), (4, 'a'), (5, 'b')]

cycle당신이 순환하는 반복자를 통해 결합하거나 할 때 매우 유용 압축 반복하는 과정이 바로 반복 가능한이 다 소모 될 다른 어떤으로 중지됩니다, 그래서 다른 반복 가능 객체와. 그렇지 않으면 무기한 순환 유지합니다 (경우에 하나가 cycle@chepner가 지적한 다른 모든 반복 가능 객체도 무한 것도 발전기 이상)

추천

출처http://43.154.161.224:23101/article/api/json?id=13262&siteId=1