停止for循环,python

时间:2016-04-14 10:00:42

标签: python for-loop

我使用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)

我该怎么做?

3 个答案:

答案 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