我们有一个列表item_list,
item_list = ["a", "b", "XYZ", "c", "d", "e", "f", "g"]
我们用 for 循环遍历它的项目,如果项目是 "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()
实现此目标的最 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.
基本上,不是直接遍历列表,而是为它创建一个称为迭代器 的抽象并对其进行遍历。您可以通过调用 next(...) 告诉迭代器前进到下一个项目,我们执行三次以跳过接下来的三个项目。下一次循环时,它会在那之后的下一个项目处拾取。
