我正在嘗試檢索維基百科頁面的字符數,以獲取不同語言的文章。我正在使用以頁面名稱為鍵的字典,以語言為鍵、計數為值的字典作為值。
代碼是:
pages = ["L'arte della gioia", "Il nome della rosa"]
langs = ["it", "en"]
dicty = {}
dicto ={}
numz = 0
for x in langs:
wikipedia.set_lang(x)
for y in pages:
pagelang = wikipedia.page(y)
splittedpage = pagelang.content
dicto[y] = dicty
for char in splittedpage:
numz =1
dicty[x] = numz
如果我列印 dicto,我會得到
{"L'arte della gioia": {'it': 72226, 'en': 111647}, 'Il nome della rosa': {'it': 72226, 'en': 111647}}
兩個頁面的計數應該不同。
uj5u.com熱心網友回復:
請嘗試此代碼。我沒有運行它,因為我沒有維基百科模塊。
備注:
- 由于您的預期結果是
dict[page,dict[lan,cnt]],我認為首先迭代頁面更自然,然后迭代語言。也許出于性能原因,您想要第一次迭代語言,請發表評論。 - 字符數
text可以簡單的為len(text),為什么還要迭代求和呢? - 變數名。你很快就會迷失在
xy類似的變數中。
pages = ["L'arte della gioia", "Il nome della rosa"]
langs = ["it", "en"]
dicto = {}
for page in pages:
lang_cnt_dict = {}
for lang in langs:
wikipedia.set_lang(lang)
page_lang = wikipedia.page(page)
chars_cnt = len(pagelang.content)
lang_cnt_dict[lan] = chars_cnt
dicto[page] = lang_cnt_dict
print(dicto)
更新
如果你想先迭代語言
pages = ["L'arte della gioia", "Il nome della rosa"]
langs = ["it", "en"]
dicto = {}
for lang in langs:
wikipedia.set_lang(lang)
for page in pages:
page_lang = wikipedia.page(page)
chars_cnt = len(pagelang.content)
if page in dicto:
dicto[page][lang] = chars_cnt
else:
dicto[page] = {lang: chars_cnt}
print(dicto)
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/444679.html
標籤:Python python-3.x 字典 维基百科 维基百科-api
下一篇:dict從鍵中獲取專案
