我在python中有一个特定的编码问题。在
Count = defaultdict(int)
for l in text:
for m in l['reviews'].split():
Count[m] += 1
print Count
text
是一个如下所示的列表
如果我运行这段代码,就会得到这样的结果:
defaultdict(<type 'int'>, {'superficial,': 2, 'awesome': 1,
'interesting': 3, 'A92': 2, ....
我想要的是一个二元数,而不是一元数。{cdi>尝试了{cdi>后面的代码}
Count = defaultdict(int)
for l in text:
for m in l['reviews'].split():
Count[m, m+1] += 1
我想使用类似的代码,而不是使用Stackoverflow中已经存在的其他代码。大多数现有的代码使用word list,但是我想直接从split()中计算bigram,它来自原始文本。在
我想得到类似这样的结果:
defaultdict(<type 'int'>, {('superficial', 'awesome'): 1, ('awesome, interesting'): 1,
('interesting','A92'): 2, ....}
为什么会出现错误?如何修复此代码?在
你想数一数相邻两个单词的数目吗?把它们做成元组。在
结果:
{('and','aggressive'):1,('from','CA-21,'):1,('political','from'):1,('CA-21,','very'):1,('very','freegative'):1,('freedom','and'):1}
如果我正确理解您的问题,下面的代码将解决您的问题。在
计数为:
^{pr2}$在编辑:如果你想用key作为元组只需改变连接线。python dict也散列元组。在
有一种方法可以计算标准库中的对象,称为^{} 。
另外,在^{} 的帮助下,bigram计数器脚本可以如下所示:
相关问题 更多 >
编程相关推荐