Как перебирать список не с начала?
Вопрос по перебору списка.
Имеется список строк (нужны именно строки 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 шт):
Вариантов много. Можно проверять, что i пока меньше curr и пропускать итерацию:
for i in numbers:
if i < curr:
continue
...
Или найти позицию curr в списке и использовать срез:
for i in numbers[numbers.index(curr):]:
...