Как перебирать список не с начала?

Вопрос по перебору списка.

Имеется список строк (нужны именно строки str а не цифры int)

numbers= ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10']

Выполняется некий запрос, который может возвратить (а может и не возвратить) строку = одному из элементов списка, например

curr = getNumber() # curr = '05'

Далее запускается цикл по перебору numbers для проверки некого условия:

for i in numbers:
 ... и идет перебор начиная с '01' до '10'

Вопрос вот в чем - если как в примере curr = '05' то как начать перебор цикла for i in numbers: не с начала (не с '01') а с найденного curr ... т.е. чтобы перебирал не

'01', '02', '03', '04', '05', '06', '07', '08', '09', '10'

а

'05', '06', '07', '08', '09', '10'


Ответы (1 шт):

Автор решения: CrazyElf

Вариантов много. Можно проверять, что i пока меньше curr и пропускать итерацию:

for i in numbers:
    if i < curr:
        continue
    ...

Или найти позицию curr в списке и использовать срез:

for i in numbers[numbers.index(curr):]:
    ...
→ Ссылка