我使用for循环编写了一些代码。现在我想在执行循环一次后停止for循环。这是for循环:
for table in tables: #reason for it to do it 12x
for tr in table.find_all("tr"):
firstTd = tr.find("td")
if firstTd and firstTd.has_attr("class") and "indent" in firstTd['class']:
values = {}
tds = tr.find_all("td")
maxVal = tds[1].find("span", class_="wx-value")
avgVal = tds[2].find("span", class_="wx-value")
minVal = tds[3].find("span", class_="wx-value")
if maxVal:
values['max'] = maxVal.text
if avgVal:
values['avg'] = avgVal.text
if minVal:
values['min'] = minVal.text
if len(tds) > 4:
sumVal = tds[4].find("span", class_="wx-value")
if sumVal:
values['sum'] = sumVal.text
scrapedData = {}
scrapedData[firstTd.text] = values
weatherdata.append(scrapedData)
with open ("january_2016.json", 'w' ) as outFile:
json.dump(weatherdata, outFile, indent=2)
我该怎么做?
答案 0 :(得分:5)
拥有break
:
for x in range(5):
print x
break
这会打印0
并停止执行。
答案 1 :(得分:2)
您应该使用break命令:
for tr in table.find_all("tr"):
if any_condition_for_exit:
break;
如果你第一次阅读官方documentation,那就没问题了。
它非常有用,能够回答您的更多问题。
答案 2 :(得分:2)
您可以通过更改缩进来实现此目的。
案例1:
for item in list:
print(item)
break
在第1种情况下,只要打印第一项就会停止执行。
案例2:
for item in list:
print(item)
return
在案例2中,它会在打印完所有项目后自然终止。这里不需要休息,因为休息用于完全停止执行力。
如果您想了解更多内容,请仔细阅读link