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所说,我只是在寻找具体的术语。