我需要for loop
的帮助。
如果我使用for
语句循环遍历项目列表,如果实际满足条件,我应该如何传递给下一个迭代器?
示例:
for item in list:
if item == 10:
next_item
else:
do_something
我应该写什么而不是next_item
?
答案 0 :(得分:3)
continue
会奏效。但是,为什么不:
for item in list:
if item != 10:
do_something
甚至:
[do_something(item) for item in list if item != 10]
答案 1 :(得分:1)
我认为你的意思是获取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执行任何操作之前检查if nxt is not 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