2015-08-14 8 views
0

Мне нужна помощь с for loop.В цикле for, если мой итератор удовлетворяет условию, как я могу перейти к следующему итератору?

Если я перебираю список элементов, используя оператор for, как я должен перейти к следующему итератору, если он действительно удовлетворяет условию?

Пример:

for item in list: 
    if item == 10: 
     next_item 
    else: 
     do_something 

То, что я должен написать вместо next_item?

+1

использовать 'continue' вместо' next_item'. –

ответ

3

continue будет работать. Однако, почему бы не:

for item in list: 
    if item != 10: 
     do_something 

Или даже:

[do_something(item) for item in list if item != 10] 
+0

, если они хотят использовать следующее значение, тогда это не сработает –

+1

@PadraicCunningham, я на 99% уверен, что ОП просто спрашивал, как перейти к следующей итерации и не знал, какую терминологию использовать. – ndn

1

Я полагаю, вы имеете в виду получить следующий пункт в случае, вы можете использовать ИТЭР вызова рядом, чтобы получить следующий элемент из списка в поле если заявление:

lst = [1,2,3,4] 
it = iter(lst) 
for item in it: 
    if item == 10: 
     nxt = next(it,None) 
    else: 
     do_something 

вы можете проверить if nxt is not None, прежде чем делать что-либо с NXT, если вы, возможно, использовать объект NONE в:

lst = [1,2,3,4] 
obj = object() 
it = iter(lst) 
for item in lst: 
    if item == 10: 
     nxt = next(it, obj) 
     if nxt is not obj: 
      # do whatever 
    else: 
     do_something 
+1

еще раз ваши ответы очистили мой способ увидеть мои проблемы и добавили мне некоторые знания ... heheh thanks @PadraicCunningham! Но, как сказал ndn, я просто искал конкретную терминологию. –