[英]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.