Скажем, у меня есть список:
l = [1, 2, 3, 4]
И я хочу его просмотреть. Обычно это делается примерно так:
1, 2, 3, 4, 1, 2, 3, 4, 1, 2...
Я хочу иметь возможность начинать с определенной точки цикла, не обязательно с индекса, но, возможно, сопоставления с элементом. Скажем, я хотел начать с любого элемента в списке == 4
, тогда вывод будет:
4, 1, 2, 3, 4, 1, 2, 3, 4, 1...
Как я могу это сделать?
Может использовать что-то вроде этого:
def my_cycle(data, start=None):
k = 0 if not start else start
while True:
yield data[k]
k = (k + 1) % len(data)
Тогда выполненный:
for val in my_cycle([0,1,2,3], 2):
print(val)
По существу то же как один из предыдущих ответов. Мое плохое.