如何添加“for clause”产生的所有值?

时间:2016-04-22 06:54:50

标签: python

这是我的代码:

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 

此结果bigramvalue(=its frequency")

如何在for循环中添加所有值?这意味着,v1 + v2 + v3 ... vn。我无法使用sum功能。

3 个答案:

答案 0 :(得分:2)

如果v只是一个数字,您可以sum bi_freqsum(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