问题描述
所以可以说我有2个列表。
A = ['A','B','C']
B = [1,2,3,4,5]
如您所见,两个列表的长度都不同。现在,我想知道如何使它遍历两个列表,但是如果列表A已被完全遍历,则在仍然等待列表B完成的同时再次遍历列表A。
示例输出
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}")
输出:
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]}')
输出:
A1
B2
C3
A4
B5
,
尝试一下,
A = ['A','C']
B = [1,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