0

こんにちは、bio pythons try の実装に辞書の単語リストがあります

巨大な辞書がロードされた t という名前のトライ オブジェクトがあります。

いくつかの奇妙な暗号化アルゴリズムの整数からアルファベットへの辞書マップがあります

最もエレガントまたはpythonicな方法は何ですか?N文字の単語でトライを検索すると、長さN以下または長さのすべての結果を省略して削除し、正確な長さNの結果のみを保存します

入力が 227 と 8733 で、([bar,car,carpet][tree,tree's,treed,used]) のような辞書の文字にマップされているとします。出力を同じ長さに保ちたいだけなので、入力がis 227 car と bar のみが出力されます。必要な結果は ([bar,car],[tree,used]) である必要があります

したがって、元の入力長よりも長いまたは短い長さを持つトライから生成されるすべての結果を省略したい

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)

またはgeneexprを使用:

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