我想將 def 中的回傳資料添加到一行中的多個串列中,有沒有辦法做到這一點?
我的代碼:
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回傳的資料分配給一個變數,然后從該變數一個一個地添加到串列中,我不能直接在我呼叫getData的地方處理這個嗎?
(getData 實際上需要 12 種不同的資料,我在此處發布代碼時對其進行了裁剪)
將 12 個資料分配給一個臨時資料,然后將它們一個一個添加到串列中,這似乎是代碼污染
uj5u.com熱心網友回復:
不,您需要將結果保存在變數中。
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)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/487565.html
上一篇:為什么這個問題會發生在python函式范圍內?[復制]
下一篇:如何在OCaml中回傳浮點數?
