如何在Python的for循环中跳过接下来的两次迭代?
实现每3次迭代打印1次的循环需求
需求明确:循环遍历0到99的100个元素,打印索引0、3、6……的元素,跳过中间两个元素。以下是几种实用解决方案:
方法一:直接使用步长遍历(最简洁高效)
直接通过range的步长参数,只遍历需要打印的元素,无需额外判断:
for i in range(0, 100, 3): print(i)
原理:range(start, stop, step)的step参数设置为3,会从0开始,每次递增3,生成0、3、6……99(若99<100)的序列,刚好匹配需求。
方法二:遍历所有元素+模运算判断
如果需要遍历全部100个元素(比如还要处理其他逻辑),可以通过模运算筛选目标元素:
for i in range(100): if i % 3 == 0: print(i) # 此处可添加其他需要执行的代码
原理:判断当前索引是否为3的倍数,是则打印,否则跳过。
方法三:迭代器手动跳过元素(适用于非range场景)
如果处理的是自定义迭代器而非range,可以手动控制元素的获取与跳过:
import itertools # 替换为你的自定义迭代器 my_iterator = iter(range(100)) while True: try: # 获取并打印当前元素 print(next(my_iterator)) # 跳过接下来两个元素 next(my_iterator) next(my_iterator) except StopIteration: # 迭代器耗尽时退出循环 break
原理:通过next()手动获取元素,打印后再调用两次next()跳过后续两个元素,直到迭代器抛出StopIteration异常结束循环。
内容的提问来源于stack exchange,提问作者Ammar_Fahmy
相关产品推荐
相关产品推荐

