首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >detect_langs如何使用输出

detect_langs如何使用输出
EN

Stack Overflow用户
提问于 2021-03-27 01:48:53
回答 1查看 96关注 0票数 0

我使用langdetect,它应该返回字符串中某一种语言的概率/百分比,类似于英语文本的en:0.9999960343803843。我想检查语言和百分比,并将它们存储在变量中,以便以后使用它们,但除了打印之外,我不能对它做任何事情。类型似乎是

代码语言:javascript
复制
lan="Otec matka syn."
lan=detect_langs(line)
print(lan)
print(type(lan[0]))

此代码输出

代码语言:javascript
复制
[pl:0.7142846922445223, fi:0.2857135474194883]
<class 'langdetect.language.Language'>

注意:它不是json,因为我尝试过json.loads(lan),错误提示它应该是字符串而不是语言

编辑:正如user696969回答的那样,解决方案是将它们保存在字典中

代码语言:javascript
复制
x=detect_langs(line)
lan={}
for lang in x:
    lan.update({lang.lang: lang.prob})
EN

回答 1

Stack Overflow用户

发布于 2021-03-27 08:29:49

因为它们是language.Language对象,所以可以使用以下代码将每种语言数据转换为dict类型

代码语言:javascript
复制
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的预期输出为

代码语言:javascript
复制
[{'fi': 0.8571392823357673}, {'pl': 0.14285943305652865}]

您还可以将整个语言列表存储到字典中,方法是将

代码语言:javascript
复制
lan=[{lang.lang: lang.prob} for lang in detect_langs(line)]

使用

代码语言:javascript
复制
lan={lang.lang: lang.prob for lang in detect_langs(line)}

预期的输出将如下所示

代码语言:javascript
复制
{'fi': 0.7142848220971209, 'pl': 0.2857147054811151}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66821950

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档