下面是我的代码:我试图将从这段代码中得到的循环结果变成一个列表。有什么想法吗?
import requests
from bs4 import BeautifulSoup
page = requests.get('http://forecast.weather.gov/MapClick.php?lat=37.7772&lon=-122.4168')
soup = BeautifulSoup(page.text, 'html.parser')
for x in soup.find_all(class_='tombstone-container'):
y = (x.get_text())
print (y)
请您参考如下方法:
一种直接转换 for 结果的方法循环到列表中是列表理解。
我们可以转换:
for x in soup.find_all(class_='tombstone-container'):
y = (x.get_text())
print (y)
进入:
result = [x.get_text() for x in soup.find_all(class_='tombstone-container')]
基本(列表推导式具有更高级的语法)具有 as 语法:
[<expr> for <var> in <iterable>]
它构建了一个列表,Python 将在其中迭代 <iterable>并将值赋给 <var>它为每个 <var> in <iterable> 添加<expr>的结果到列表中。
