首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >有没有办法给一个成员在另一个列表中的列表打分?

有没有办法给一个成员在另一个列表中的列表打分?
EN

Stack Overflow用户
提问于 2019-05-27 21:47:29
回答 3查看 70关注 0票数 -2

我有两个列表。短语列表包含单词和短语,而核对表仅包含单词。我想确认检查列表中是否有任何成员是部分或在短语列表中。我将根据它在check列表中的成员身份给phrase列表中的每个字符串一个分数。

在下面的示例中,因为两个单词中只有一个(“信息”)在check列表中,所以information retrieval会产生0.5。另一方面,因为“波”和“变换”都出现在check中,所以wave transformation产生1。

我一直在寻找如何做这件事,但都没有成功

代码语言:javascript
复制
score = []
phrase = ['information retrieval', 'wave transformation', 'information', 'services', 'gold coast village']
check = ['information', 'wave', 'transformation', 'village', 'services']

我希望分数列表包含短语列表中每个成员的分数。

代码语言:javascript
复制
phrase = ['information retrieval', 'wave transformation', 'information', 'services', 'gold coast village']
score = [0.5, 1, 1, 1, 0.33]
EN

回答 3

Stack Overflow用户

发布于 2019-05-27 21:53:23

代码语言:javascript
复制
[sum(word in check for word in elem.split()) / len(elem.split()) for elem in phrase]

将返回:

[0.5, 1.0, 1.0, 1.0, 0.3333333333333333]

票数 0
EN

Stack Overflow用户

发布于 2019-05-27 21:59:40

您可以编写一个评分函数来累加分数,并返回它们:

代码语言:javascript
复制
def scoring(phrase, check):
    scores = []
    for block in phrase:
        tokens = block.split()
        score = 0
        for word in check:
            if word in tokens:
                score += 1 / len(tokens)
        scores.append(score)
    return scores

score = []
phrase = ['information retrieval', 'wave transformation', 'information', 'services', 'gold coast village']
check = ['information', 'wave', 'transformation', 'village', 'services']

# score = [0.5, 1, 1, 1, 0.33]

scoring(phrase, check)

输出:

代码语言:javascript
复制
[0.5, 1.0, 1.0, 1.0, 0.3333333333333333]
票数 0
EN

Stack Overflow用户

发布于 2019-05-28 02:16:20

您可以使用统计模块来获取分数,因为一个短语的每个单词都将计入1或0,这取决于它是否出现在检查表中:

代码语言:javascript
复制
import statistics as stats
score = [stats.mean(w in check for w in p.split()) for p in phrase]

为了提高速度,您应该将check定义为一个集合,而不是一个列表。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56327328

复制
相关文章

相似问题

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