Python 在for循环中,如果我的迭代器满足一个条件,如何传递给下一个迭代器?

Python 在for循环中,如果我的迭代器满足一个条件,如何传递给下一个迭代器?,python,for-loop,iterator,continue,Python,For Loop,Iterator,Continue,我需要一些关于循环的帮助 如果我使用for语句在一个项目列表上循环,如果实际满足条件,我应该如何传递给下一个迭代器? 例如: for item in list: if item == 10: next_item else: do_something 我应该写什么来代替下一项?继续将起作用。然而,为什么不: for item in list: if item != 10: do_something 甚至: [do_some

我需要一些关于循环
的帮助

如果我使用
for
语句在一个项目列表上循环,如果实际满足条件,我应该如何传递给下一个迭代器?

例如:

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

我应该写什么来代替下一项

继续
将起作用。然而,为什么不:

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

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

继续
将起作用。然而,为什么不:

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

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

我想您的意思是获取if中的下一项,您可以使用iter调用next从if语句的列表中获取下一个元素:

lst = [1,2,3,4]
it = iter(lst)
for item in it:
    if item == 10:
        nxt = next(it,None)
    else:
        do_something
在使用nxt执行任何操作之前,如果您可能拥有None的use对象,您可能需要检查
是否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

我想您的意思是获取if中的下一项,您可以使用iter调用next从if语句的列表中获取下一个元素:

lst = [1,2,3,4]
it = iter(lst)
for item in it:
    if item == 10:
        nxt = next(it,None)
    else:
        do_something
在使用nxt执行任何操作之前,如果您可能拥有None的use对象,您可能需要检查
是否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

使用
继续
而不是
下一个项目
。使用
继续
而不是
下一个项目
。如果他们想使用下一个值,则不会使用work@PadraicCunningham,我99%肯定OP只是问如何跳到下一个迭代,不知道使用什么术语。如果他们想使用下一个值,那么这就不会work@PadraicCunningham,我99%肯定OP只是在问如何跳到下一个迭代,不知道使用什么术语。再一次,你的回答澄清了我对问题的看法,为我增加了一些知识。。。嘿嘿,谢谢@PadraicCunningham!但正如ndn所说,我只是在寻找具体的术语。再一次,你的回答澄清了我对问题的看法,为我增加了一些知识。。。嘿嘿,谢谢@PadraicCunningham!但正如ndn所说,我只是在寻找具体的术语。