2012-07-12 18 views
0

你好有一个词典单词列表中的生物pythons特里实施blo python tree

我有一个trie对象名为t与巨大的词典加载到它。

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

什么是最优雅的或Python的方式,所以当我寻找线索,与A N字母的单词,省略和删除所有结果长度小于或大于N,并且只存储精确N长度的结果

表示输入是227和8733,它们映射到字典中的字母([bar,car,carpet] [tree,tree's,我只想保持输出的长度相同,所以当输入是227时,只有汽车和酒吧将被输出 我想要的结果应该是([bar,car],[tree,used])

所以我想省略将从具有较大或较短的长度,则原始输入长度线索产生的所有结果

+0

你能扩大你的意思是“省略和储存”?你真的是根据多于/少于三个字符条件筛选/分组数据吗? – 2012-07-12 02:50:52

+0

@BrianCain谢谢我解决了它现在更清楚了吗? – pyCthon 2012-07-12 02:55:20

+0

仍然没有'my_inputs'和缩进仍然是一个级别(也不应该影响'输入'也) – 2012-07-12 03:02:26

回答

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) 

或者使用genexpr:

words.extend(w for w in t.with_prefix(string) if len(w) == len(string)) 
+0

第一个仍然给结果大于N,但第二个非常感谢! – pyCthon 2012-07-12 03:37:15