alw*_*btc 1 python for-loop list
我们有一个清单item_list,
item_list = ["a", "b", "XYZ", "c", "d", "e", "f", "g"]
Run Code Online (Sandbox Code Playgroud)
我们使用for循环遍历其项目,如果是item "XYZ",则跳过项目"c", "d", "e"并继续"f":
for item in item_list:
if item == "XYZ":
do_something()
skip_3_items() ----> skip items "c", "d", "e"
else:
do_something_else()
Run Code Online (Sandbox Code Playgroud)
什么可能是实现这一目标的最pythonic方式?
list_iter = iter(item_list)
for item in list_iter:
if item == "XYZ":
do_something()
for _ in range(3): # skip next 3 items
next(list_iter, None)
# etc.
Run Code Online (Sandbox Code Playgroud)
基本上,不是直接遍历列表,而是为它创建一个称为迭代器的抽象并迭代它.您可以通过调用next(...)我们三次跳过接下来的三个项来告诉迭代器前进到下一个项目.下一次循环,它会在之后的下一个项目中获取.