簡體   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