0

我建立

Corpus = collections.namedtuple('Corpus', 'a, b, c, d')

读取语料库中的所有文件并保存数据,

def compute(counters, tokens, catergory)
    ...
    counters.stats[tokens][catergory] = Corpus(a, b, c, d)

令牌和分类都是 collection.Counter()。在阅读了 counters.stats 中 a、b、c、d 中的所有信息后,我在另一个函数中进行了一些计算,并为每个令牌获取了 'e'。如何在此函数中将 e 添加到 counters.stats 中?

4

1 回答 1

3

如果您正在谈论将“e”添加到语料库的命名元组中,counter.stats[tokens][category]那么这是不可能的,因为命名元组是不可变的。您可能必须使用这些a b c d e值创建一个新的命名元组并将其分配给 counter.stats[tokens][category]。下面的代码是一个例子:

>>> from collections import namedtuple
>>> two_d = namedtuple('twoDPoint', ['x', 'y'])
>>> x = two_d(1, 2)
>>> x = two_d(1, 2)
>>> three_d = namedtuple('threeDPoint', ['x', 'y', 'z'])
>>> x
twoDPoint(x=1, y=2)
>>> y = three_d(*x, z=3)
>>> y
threeDPoint(x=1, y=2, z=3)
于 2012-04-27T21:49:47.440 回答