Python итерация не изменится - PullRequest
0 голосов
/ 12 марта 2020

Я хочу "сбросить" мой для l oop, поэтому я подумал, что должен установить свой итератор i на 0, но он будет продолжен с 1 et c. Как "сбросить" мой для l oop? Я попытался установить i на 0, но на следующем шаге мой для l oop просто продолжается с 1 и так далее. g это просто список из 2 элементов, а S это строка, игнорируйте все это. Именно эта итерация не будет работать

for i in range(0, len(g)):
    print("gi = " + g[i])
    print(i)
    if g[i] in S:
        S = S.replace(g[i], "", 1)
        print(S)
        i = 0
        output += 1

Ответы [ 2 ]

1 голос
/ 12 марта 2020

вы можете использовать некоторое время l oop:

S='1112'
g=['1', '2']

i = 0
output =  0
while i < len(g):
    if g[i] in S:
        S = S.replace(g[i], "", 1)
        print(S)
        i = 0
        output += 1
    else:
        i += 1

print('Is S empty?', S=='')

вывод:

112
12
2

Is S empty? True
0 голосов
/ 12 марта 2020

Не используйте петлю for; используйте while:

i = 0
while i < len(g):
    <your original loop body; might need to replace i=0 with i=-1>
    i += 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...