Python将文本分配给新变量
在Python中,我使用BeautifulSoup解析文本。我想将一组“str”对象保存到列表中。以下代码不会运行,但应该会想到:Python将文本分配给新变量,python,list,variables,Python,List,Variables,在Python中,我使用BeautifulSoup解析文本。我想将一组“str”对象保存到列表中。以下代码不会运行,但应该会想到: listings = soup.find_all('h6') for i in listings: projecturls[i] = i.find_all('a', href=True)[0]['href'] 所以我想循环遍历元素“listings”并提取一个字符串。然后我想将这个字符串保存到projectURL中,我想将其作为一个列表。但我得到了以下错误
listings = soup.find_all('h6')
for i in listings:
projecturls[i] = i.find_all('a', href=True)[0]['href']
所以我想循环遍历元素“listings”并提取一个字符串。然后我想将这个字符串保存到projectURL中,我想将其作为一个列表。但我得到了以下错误:
NameError: name 'projecturls' is not defined
我如何定义这一点?还是有更好的方法来做我想做的事
我认为动态定义N个变量也可以,但这不是首选。将
projecturl
定义为列表对象,然后使用list.append
方法在其中添加一项:
listings = soup.find_all('h6')
projecturls = [] # <-------------
for i in listings:
url = i.find_all('a', href=True)[0]['href']
projecturls.append(url) # <------
listings=soup.find_all('h6'))
projecturls=[]#将projecturls
定义为列表对象,然后使用list.append
方法在其中添加项目:
listings = soup.find_all('h6')
projecturls = [] # <-------------
for i in listings:
url = i.find_all('a', href=True)[0]['href']
projecturls.append(url) # <------
listings=soup.find_all('h6'))
projecturls=[]#您还可以使用列表理解:
listings = soup.find_all('h6')
projecturls = [i.find_all('a', href=True)[0]['href'] for i in listings]
或map
功能:
listings = soup.find_all('h6')
projecturls = list(map(lambda i: i.find_all('a', href=True)[0]['href'], listings))
您还可以使用列表理解:
listings = soup.find_all('h6')
projecturls = [i.find_all('a', href=True)[0]['href'] for i in listings]
或map
功能:
listings = soup.find_all('h6')
projecturls = list(map(lambda i: i.find_all('a', href=True)[0]['href'], listings))
看起来“projectURL”是一本字典。将projecturls={}
添加到该循环的正上方以初始化此循环。是否定义了projecturls
?看起来“projecturls”是一个字典。将projecturl={}
添加到该循环的正上方以初始化该循环。是否定义了projecturl
?