0

嗨,在 bio pythons trie 实现中有一个字典单词列表

我有一个名为 t 的 trie 对象,其中加载了一个巨大的字典。

我有一个从整数到字母表的字典映射,用于一些奇怪的加密算法

什么是最优雅或 Pythonic 的方式,所以当我使用 N 个字母词搜索 trie 时,忽略并删除长度小于或大于 N 的所有结果,并且只存储具有精确 N 长度的结果

假设输入是 227 和 8733,它们映射到字典中的字母,例如 ([bar,car,carpet][tree,tree's,treed,used]) 我只想保持输出的长度相同,所以当输入是 227 只有 car 和 bar 会输出我想要的结果应该是 ([bar,car],[tree,used])

所以我想省略所有从 trie 产生的结果,这些结果的长度大于或小于原始输入长度

4

1 回答 1

1
for word in t.with_prefix(string): # I assume with_prefix() returns a list of words
    if len(word) == len(string):
       words.append(word)

或使用基因expr:

words.extend(w for w in t.with_prefix(string) if len(w) == len(string))
于 2012-07-12T03:08:36.850 回答