python-3.x - detect_langs 如何使用输出
问题描述
我正在使用 langdetect,它应该返回字符串中某种语言的概率/百分比,类似于英文文本的 [en:0.9999960343803843]。我想检查语言和百分比并将它们存储在变量中以供以后使用,但除了打印它之外我什么也做不了。类型似乎是 <class 'langdetect.language.Language'>
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[0]) 并且错误说它应该是字符串而不是语言
编辑:正如 user696969 回答的那样,解决方案是将它们保存在字典中
x=detect_langs(line)
lan={}
for lang in x:
lan.update({lang.lang: lang.prob})
解决方案
由于它们是对象,您可以使用以下代码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}
推荐阅读
- javascript - 类型“{}”中缺少属性“submitAction”,但在类型中是必需的
- python - 使用索引列表从 GroupBy 中保留一些组
- java - Pitest:如何在不同的模块中设置正确的路径
- python - 带有 gcp python 的气流:ValueError:流必须在开头
- javascript - 从大量对象中创建新对象
- kubernetes - 了解 kubectl 运行命令
- python - 如何将新值填充到单选按钮 WTForms?
- flutter - 如何将图像放置在卡片的边框上?
- javascript - 如何使html中的数字可点击,以便在AEM的HTL中自动调用
- google-apps-script - 如何指定来宾状态,以便将名称放在正确的单元格中?