#python #python-3.x #loops #iteration
#python #python-3.x #циклы #итерация
Вопрос:
Итак, допустим, у меня есть 2 списка.
A = ['A', 'B', 'C']
B = [1, 2, 3, 4, 5]
Как вы можете видеть, оба списка имеют разную длину. Теперь мне было интересно, как бы я сделал так, чтобы он повторялся по обоим спискам, но если список A был полностью повторен, затем повторите список A снова, все еще ожидая завершения списка B.
Пример вывода
A1
B2
C3
A4
B5
Не уверен, имеет ли это смысл, если вы хотите, чтобы я объяснил подробнее, я был бы рад это сделать.
Ответ №1:
Используйте 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
Ответ №2:
Попробуйте это
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
Ответ №3:
Попробуйте это,
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