使用count方法计算bigrams

时间:2016-11-30 21:20:44

标签: python count

是否可以使用count方法计算两个对象的出现次数?

EG。如果我有一个列表,如

list = ['apple', 'red', 'potato', 'apple', 'red']

我可以吗

    word = list[0] + ',' + ' ' + list[1]
    list.count(word)

让它返回2?

我知道python有NTLK,但我不允许将它用于项目

2 个答案:

答案 0 :(得分:0)

您可以通过使用字典将所有单词对存储为键以及它们显示为值的次数来自行完成。您需要循环遍历所有单词并连接所有对,并查看它们是否已存在于您的字典中。如果它们将该对增加1并且如果它们不在字典中,则将其添加为值1。所以对于第一对你的字典看起来像这样:

{"apple, red":1}

在下一次循环中你会得到:

{"apple, red":1,
"red, potato":1}

当你完成字典的创建时,你会得到:

{"apple, red":2,
"red, potato":1,
"potato, apple":1}

然后你可以找到你想要的那对词。

答案 1 :(得分:0)

你可以依靠这样的字符串:

list = ['apple', 'red', 'potato', 'apple', 'red']
', '.join(list).count(list[0] + ',' + ' ' + list[1]) 

它只会创建一个字符串' apple,red,potato,apple,red'并且它将计算苹果,红色和#39;就在其中。