繁体   English   中英

For 循环 n 次迭代-Python

[英]For Loop for n iterations-Python

我在 python 脚本中有一个简单的 For 循环:

for filename in filenames:
    outline= getinfo(filename)
    outfile.write(outline)

这个 For 循环是从 HTML 页面提取数据的更大脚本的一部分。 我有将近 6GB 的 html 页面,想在对所有页面进行尝试之前进行一些测试运行。

我已经搜索过,但找不到一种方法来让我的 For 循环在 n 次迭代后中断(比如 100 次)。

for filename in filenames[:100]:
    outline= getinfo(filename)
    outfile.write(outline)

列表 slice filenames[:100]会将文件名列表截断为前 100 个元素。

为您的 for 循环保留一个计数器。 当你的计数器达到 100 时,打破

counter = 0
for filename in filenames:
    if counter == 100:
        break
    outline= getinfo(filename)
    outfile.write(outline)
    counter += 1

我喜欢@kqr 的回答,但只是另一种考虑的方法,而不是取前 100 个,您可以取一个随机的n

from random import sample
for filename in sample(filenames, 10):
    # pass

使用内置函数enumerate() ,可在 Python 2 和 3 中使用。

for idx,filename in enumerate(filenames):
    if idx == 100:
        break
    outline= getinfo(filename)
    outfile.write(outline)

也看看这个

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM