我使用langdetect,它应该返回字符串中某一种语言的概率/百分比,类似于英语文本的en:0.9999960343803843。我想检查语言和百分比,并将它们存储在变量中,以便以后使用它们,但除了打印之外,我不能对它做任何事情。类型似乎是
lan="Otec matka syn."
lan=detect_langs(line)
print(lan)
print(type(lan[0]))此代码输出
[pl:0.7142846922445223, fi:0.2857135474194883]
<class 'langdetect.language.Language'>注意:它不是json,因为我尝试过json.loads(lan),错误提示它应该是字符串而不是语言
编辑:正如user696969回答的那样,解决方案是将它们保存在字典中
x=detect_langs(line)
lan={}
for lang in x:
lan.update({lang.lang: lang.prob})发布于 2021-03-27 08:29:49
因为它们是language.Language对象,所以可以使用以下代码将每种语言数据转换为dict类型
from langdetect import detect_langs
line="Otec matka syn."
lan=[{lang.lang: lang.prob} for lang in detect_langs(line)]
print(lan)
print(type(lan[0]))lan的预期输出为
[{'fi': 0.8571392823357673}, {'pl': 0.14285943305652865}]您还可以将整个语言列表存储到字典中,方法是将
lan=[{lang.lang: lang.prob} for lang in detect_langs(line)]使用
lan={lang.lang: lang.prob for lang in detect_langs(line)}预期的输出将如下所示
{'fi': 0.7142848220971209, 'pl': 0.2857147054811151}https://stackoverflow.com/questions/66821950
复制相似问题