gpt4 book ai didi

python - 有没有办法改变for循环的迭代器?

转载 作者:行者123 更新时间:2023-12-01 07:51:46 24 4
gpt4 key购买 nike

我正在 for 循环中每行读取一个文件行,并执行 while 循环修改迭代器的循环,如下所示:

for line in archive:
...
if re.search("{",line):
while not re.search("}",line):
...
line = next_line
...

完整代码如下

import re

a = ["{\n","int b,c,d\n","#pragma omp parallel for\n","for (int i=0;i<10;i++)\n",'1\n','2\n','3\n','\n4',"}\n",'6','7','8','9','0','z','y']
listwh=[]
a_it=iter(a)
text =[]
flagcb=0
for j in a:
print(j)
for line in a_it:
if re.search("{",line):

flagcb=flagcb+line.count("{")-line.count("}")
while(flagcb>0):
listwh.append(line)
print(flagcb)
print(line)
flagcb=flagcb+line.count("{")-line.count("}")
line = next(a_it)
text.append(line)

for i in listwh:
print(i)
print("\ninterval\n")
#for i in text:
# print(i)

我喜欢停留在 while 循环中,直到达到取决于存档读取的停止条件。

最佳答案

您可以显式地从可迭代对象创建迭代器:

archive_iter = iter(archive)

然后它将在循环之间保持前进。

for line in archive_iter:
if '{' in line:
while '}' not in line:
line = next(archive_iter)

关于python - 有没有办法改变for循环的迭代器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56172923/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com