首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >选择列表中的特殊元素并计算条件概率

选择列表中的特殊元素并计算条件概率
EN

Stack Overflow用户
提问于 2016-08-02 19:25:25
回答 1查看 56关注 0票数 0

我需要计算一个二元语法的概率,因为在一个列表中存在它对应的一元语法。例如,期望的结果是,在下面的列表中,'pretty girl', 'pretty', 'girl'都存在。因此,通过使用列表P(0.0017) % (0.003 * 0.002) = 5.999999999999987e-06中的值,概率为

代码语言:javascript
复制
S = ['girl', 'pretty', 'pretty girl', 'our', 'our world', 'wide', 'word', 'yes', 'yike', 'yummy']

P = [0.003, 0.002, 0.0017, 0.003, 0.006, 0.004, 0.002, 0.012, 0.006, 0.003]

我有以下代码。它似乎没有给我结果,因此我不能继续计算概率。我试图用这段代码做的是在列表中选择二元语法,并找到它们对应的单音。然后我计划在P中匹配它们的概率。

代码语言:javascript
复制
In [60]: import re
In [61]: M = []
In [62]: for i in range(len(S)):
             s_split = S[i].split()
             s_split_len = len(S[i].split())
             if s_split_len == 2:
                 m = []
                 a = re.match(s_split[0], S[i])
                 b = re.match(s_split[1], S[i])
                 m.append(a)
                 m.append(b)
                 M.append(m)
                 print M

[[<_sre.SRE_Match object at 0x10447b988>, None], [<_sre.SRE_Match object at 0x10447b8b8>, None], [<_sre.SRE_Match object at 0x10447b920>, None], [<_sre.SRE_Match object at 0x10447b9f0>, None], [<_sre.SRE_Match object at 0x10447bac0>, None], [<_sre.SRE_Match object at 0x10447bb90>, None], [<_sre.SRE_Match object at 0x10447bbf8>, None], [<_sre.SRE_Match object at 0x10447bc60>, None], [<_sre.SRE_Match object at 0x10447bcc8>, None], [<_sre.SRE_Match object at 0x10447bd30>, None], [<_sre.SRE_Match object at 0x10447bd98>, None], [<_sre.SRE_Match object at 0x10447be00>, None], [<_sre.SRE_Match object at 0x10447be68>, None], [<_sre.SRE_Match object at 0x10447bed0>, None], [<_sre.SRE_Match object at 0x10447bf38>, None], [<_sre.SRE_Match object at 0x1044a8030>, None], [<_sre.SRE_Match object at 0x1044a8098>, None], [<_sre.SRE_Match object at 0x1044a8100>, None], [<_sre.SRE_Match object at 0x1044a8168>, None], [<_sre.SRE_Match object at 0x1044a81d0>, None], [<_sre.SRE_Match object at 0x1044a8238>, None], [<_sre.SRE_Match object at 0x1044a82a0>, None], [<_sre.SRE_Match object at 0x1044a8308>, None], [<_sre.SRE_Match object at 0x1044a8370>, None], [<_sre.SRE_Match object at 0x1044a83d8>, None], [<_sre.SRE_Match object at 0x1044a8440>, None], [<_sre.SRE_Match object at 0x1044a84a8>, None], [<_sre.SRE_Match object at 0x1044a8510>, None], [<_sre.SRE_Match object at 0x1044a8578>, None], [<_sre.SRE_Match object at 0x1044a85e0>, None], [<_sre.SRE_Match object at 0x1044a8648>, None], [<_sre.SRE_Match object at 0x1044a86b0>, None], [<_sre.SRE_Match object at 0x1044a8718>, None]]
[[<_sre.SRE_Match object at 0x10447b988>, None], [<_sre.SRE_Match object at 0x10447b8b8>, None], [<_sre.SRE_Match object at 0x10447b920>, None], [<_sre.SRE_Match object at 0x10447b9f0>, None], [<_sre.SRE_Match object at 0x10447bac0>, None], [<_sre.SRE_Match object at 0x10447bb90>, None], [<_sre.SRE_Match object at 0x10447bbf8>, None], [<_sre.SRE_Match object at 0x10447bc60>, None], [<_sre.SRE_Match object at 0x10447bcc8>, None], [<_sre.SRE_Match object at 0x10447bd30>, None], [<_sre.SRE_Match object at 0x10447bd98>, None], [<_sre.SRE_Match object at 0x10447be00>, None], [<_sre.SRE_Match object at 0x10447be68>, None], [<_sre.SRE_Match object at 0x10447bed0>, None], [<_sre.SRE_Match object at 0x10447bf38>, None], [<_sre.SRE_Match object at 0x1044a8030>, None], [<_sre.SRE_Match object at 0x1044a8098>, None], [<_sre.SRE_Match object at 0x1044a8100>, None], [<_sre.SRE_Match object at 0x1044a8168>, None], [<_sre.SRE_Match object at 0x1044a81d0>, None], [<_sre.SRE_Match object at 0x1044a8238>, None], [<_sre.SRE_Match object at 0x1044a82a0>, None], [<_sre.SRE_Match object at 0x1044a8308>, None], [<_sre.SRE_Match object at 0x1044a8370>, None], [<_sre.SRE_Match object at 0x1044a83d8>, None], [<_sre.SRE_Match object at 0x1044a8440>, None], [<_sre.SRE_Match object at 0x1044a84a8>, None], [<_sre.SRE_Match object at 0x1044a8510>, None], [<_sre.SRE_Match object at 0x1044a8578>, None], [<_sre.SRE_Match object at 0x1044a85e0>, None], [<_sre.SRE_Match object at 0x1044a8648>, None], [<_sre.SRE_Match object at 0x1044a86b0>, None], [<_sre.SRE_Match object at 0x1044a8718>, None], [<_sre.SRE_Match object at 0x1044a8780>, None]]
EN

回答 1

Stack Overflow用户

发布于 2016-08-02 20:41:42

这是可行的

代码语言:javascript
复制
S = ['girl', 'pretty', 'pretty girl', 'our', 'our world', 'wide', 'world', 'yes', 'yike', 'yummy']

P = [0.003, 0.002, 0.0017, 0.003, 0.006, 0.004, 0.002, 0.012, 0.006, 0.003]


for i in range(len(S)):
    s_split = S[i].split()
    s_split_len = len(S[i].split())
    if s_split_len == 2:
        a = S.index(S[i])
        b = S.index(S[i].split()[0])
        c = S.index(S[i].split()[1])
        if a != None:
            if b != None:
                co = [a, b, c]
                probs = P[co[0]], P[co[1]], P[co[2]]
                print S[i], probs[0] % (probs[1] * probs[2])
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38719138

复制
相关文章

相似问题

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