这是我的代码:
from __future__ import division
import nltk
import string
import re
import math
from nltk import bigrams
f = open('C:/Python27/brown_A1_half.txt', 'rU')
w = open('C:/Python27/brown_A1_half_Out.txt', 'w')
#to read whole file using read()
filecontents = f.read()
from nltk.tokenize import sent_tokenize
sent_tokenize_list = sent_tokenize(filecontents)
result = ''
new_sentences = ["Start " + sentence + " End " for sentence in sent_tokenize_list]
result = ''.join(new_sentences)
tokens = nltk.word_tokenize(result)
#print tokens
bi_tokens = tuple(nltk.bigrams(tokens))
#print bi_tokens
bi_freq = nltk.FreqDist(bi_tokens)
for k, v in bi_freq.items():
print k, v
此结果bigram
和value(=its frequency")
。
如何在for循环中添加所有值?这意味着,v1
+ v2
+ v3
... vn
。我无法使用sum
功能。
答案 0 :(得分:2)
如果v
只是一个数字,您可以sum
bi_freq
中sum(bi_freq.itervalues())
所有的值:
bi_freq.itervalues()
bi_freq
将获取sum
的所有值,然后public $validate = array(
'attachmenturl' => array(
'rule' => array(
'extension',
array('pdf', 'jpeg', 'jpg')
),
'message' => 'Please supply a valid image.'
)
);
将相互添加这些值。
答案 1 :(得分:0)
我假设v是列表结构。
v = [1,2,3,4,5,6,7,8,9,10]
result = 0
for items in v:
result += items
print(result)
打印“55”
答案 2 :(得分:0)
用这个替换你的最后两行:
v_sum = 0
for k, v in bi_freq.items():
v_sum += v
print k, v