我想使用Bio.trie作为序列的索引来计算它们在数据集中出现的时间。索引创建如下:
seqs = trie()
for seq in dataset:
if seqs.has_key(seq):
seqs[seq] += 1
else:
seqs[seq] = 1
之后我想从trie中提取一些信息,例如仅计数一次的序列列表。可以这样做:
singletons = []
for seq in seqs.keys():
if seqs[seq] == 1:
singletons.append(seq)
问题在于我正在处理的机器内存不足并且调用trie.keys()会返回一个列表对象,该对象大致与trie本身一样大。是否可以使用生成器而不是列表来迭代键,这样您一次只能获得一个键?