簡體   English   中英

我將如何在 Python3 中遍歷 2 個列表,但如果列表 1 已用盡,請再次遍歷它

[英]How Would I Iterate Over 2 Lists In Python3 But If List 1 Is Exhausted Iterate Through It Again

所以假設我有 2 個列表。

A = ['A', 'B', 'C']
B = [1, 2, 3, 4, 5]

如您所見,兩個列表的長度不同。 現在我想知道如何讓它遍歷兩個列表,但如果列表 A 已完全遍歷,則再次遍歷列表 A,同時仍在等待列表 B 完成。

示例 Output

A1
B2
C3
A4
B5

不確定這是否有意義,如果您想讓我進一步解釋,我很樂意這樣做。

使用itertools.cycle

前任:

from itertools import cycle

A = cycle(['A', 'B', 'C'])
B = [1, 2, 3, 4, 5]

for k,v in zip(A,B):
    print(f"{k}{v}")

Output:

A1
B2
C3
A4
B5

試試這個

m, n = len(A), len(B)
for idx in range(max(m, n)):
    print(f'{A[idx % m]}{B[idx % n]}')

Output:

A1
B2
C3
A4
B5

試試這個,

A = ['A', 'B', 'C']
B = [1, 2, 3, 4, 5]
j=0
for i in B:
    if j<len(A):
        print(f'{A[j]}{i}')
        j+=1
    else:
        j=0
        print(f'{A[j]}{i}')
        j+=1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM