动态更新字典中的字典 return 不同参数的相同字符数
Update dictionary within dictionary dynamically return same character count for different parameters
我正在尝试为不同语言的文章检索维基百科页面的字符数。我使用的字典以页面名称作为键,以语言作为键,计数作为值的字典作为值。
密码是:
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}}
两个页面的计数应该不同。
请尝试此代码。我没有 运行 因为我没有维基百科模块。
备注:
- 由于您的预期结果是
dict[page,dict[lan,cnt]]
,我认为先迭代页面更自然,然后迭代语言。也许出于性能原因,您想要首先迭代语言,请发表评论。
text
的字符数可以简单地len(text)
,为什么要重复求和?
- 变量名。你很快就会迷失在
x
y
之类的变量中。
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)
我正在尝试为不同语言的文章检索维基百科页面的字符数。我使用的字典以页面名称作为键,以语言作为键,计数作为值的字典作为值。
密码是:
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}}
两个页面的计数应该不同。
请尝试此代码。我没有 运行 因为我没有维基百科模块。
备注:
- 由于您的预期结果是
dict[page,dict[lan,cnt]]
,我认为先迭代页面更自然,然后迭代语言。也许出于性能原因,您想要首先迭代语言,请发表评论。 text
的字符数可以简单地len(text)
,为什么要重复求和?- 变量名。你很快就会迷失在
x
y
之类的变量中。
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)