添加 return 中的多个数据一次列出
adding multiple data in return to list at once
我想在一行中将来自 def 的 return 数据添加到多个列表中,有没有办法做到这一点?
我的代码:
def getData():
try:
aprovince, atown, aneighbourhood = (
soup.find("ul", {"class": "short-info-list"}).findNext("li").text.strip(),
soup.find("ul", {"class": "short-info-list"}).findNext("li").findNext("li").text.strip(),
soup.find("ul", {"class": "short-info-list"}).findNext("li").findNext("li").findNext("li").text.strip()
return(aprovince, atown, aneighbourhood)
except:
return False
for link in links:
page = requests.get(link)
soup = BeautifulSoup(page.content, "html.parser")
if (check()):
province.append(), town.append(), neigbourhood.append() = getData()
我不想先将 getData 中的数据 return 分配给一个变量,然后再从该变量中将其逐一添加到列表中,我不能在调用 getData 的地方直接处理这个问题吗?
(getData 实际上需要 12 个不同的数据,我在此处发布代码时对其进行了一些裁剪)
把12个数据赋值给一个临时数据,然后一个个添加到列表中,好像是代码污染
不可以,您需要将结果保存在变量中。
p, t, n = getData()
province.append(p)
town.append(t)
neighborhood.append(n)
如果你有很多列表,你可以在一个循环中完成它们:
lists = [province, town, neighborhood]
for l, d in zip(lists, getData()):
l.append(d)
我想在一行中将来自 def 的 return 数据添加到多个列表中,有没有办法做到这一点?
我的代码:
def getData():
try:
aprovince, atown, aneighbourhood = (
soup.find("ul", {"class": "short-info-list"}).findNext("li").text.strip(),
soup.find("ul", {"class": "short-info-list"}).findNext("li").findNext("li").text.strip(),
soup.find("ul", {"class": "short-info-list"}).findNext("li").findNext("li").findNext("li").text.strip()
return(aprovince, atown, aneighbourhood)
except:
return False
for link in links:
page = requests.get(link)
soup = BeautifulSoup(page.content, "html.parser")
if (check()):
province.append(), town.append(), neigbourhood.append() = getData()
我不想先将 getData 中的数据 return 分配给一个变量,然后再从该变量中将其逐一添加到列表中,我不能在调用 getData 的地方直接处理这个问题吗?
(getData 实际上需要 12 个不同的数据,我在此处发布代码时对其进行了一些裁剪)
把12个数据赋值给一个临时数据,然后一个个添加到列表中,好像是代码污染
不可以,您需要将结果保存在变量中。
p, t, n = getData()
province.append(p)
town.append(t)
neighborhood.append(n)
如果你有很多列表,你可以在一个循环中完成它们:
lists = [province, town, neighborhood]
for l, d in zip(lists, getData()):
l.append(d)