python 跳过三次迭代,跳过枚举列表对象中的迭代(python)

I have the code

for iline, line in enumerate(lines):

...

if :

I would like, as you can read, have the for loop skip 5 iterations if the condition is met. I can be sure that, if the condition is met, there are 5 or more objects left in the "lines" object.

lines exists of an array of dictionaries, which have to be looped over in order

解决方案iline = 0

while iline < len(lines):

line = lines[iline]

if :

place_where_skip_happened = iline

iline += 5

iline += 1

If you are iterating over a file object you can skip lines using next or make lines an iterator:

lines = iter(range(20))

for l in lines:

if l == 10:

[next(lines) for _ in range(5)]

print(l)

0

1

2

3

4

5

6

7

8

9

10

16

17

18

19

It really depends on what you are iterating over and what you want to do.

Using your own code with iter and islice:

from itertools import islice

it = iter(enumerate(lines))

for iline, line in it:

if :

place_where_skip_happened = iline

next(islice(it,5 ,5), None)

print(line)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值