1

我想使用 Bio.trie 作为序列的索引来计算每个序列在数据集中出现的次数。索引是这样创建的:

seqs = trie()
for seq in dataset:
    if seqs.has_key(seq):
        seqs[seq] += 1
    else:
        seqs[seq] = 1

之后,我想从特里提取一些信息,例如只计算过一次的序列列表。可以这样做:

singletons = []
for seq in seqs.keys():
    if seqs[seq] == 1:
        singletons.append(seq)

问题是我正在使用的机器内存不足,调用 trie.keys() 返回一个列表对象,该对象大致与 trie 本身一样大。是否可以使用生成器而不是列表来迭代键,以便一次只能获得一个键?

4

0 回答 0