私はPythonの文字列リストを持っています。以下のように初期化:Pythonリスト(アルファベット順)に「最も近い」文字列を見つける
l = ['aardvark', 'cat', 'dog', 'fish', 'tiger', 'zebra']
をI、すなわち(アルファベット順と大文字と小文字を区別せずに、何の音声学をこのリストに対して、入力文字列をテストしたいとしない、そして「それ以下の最も近い文字列」と「それ以上の最も近い文字列」を見つけるだろう、ちょうどa<b
など)。入力がリストに存在する場合、「下」と「上」の両方が入力を返すはずです。
いくつかの例:
Input | Below | Above
-------------------------------
bat | aardvark | cat
aaa | None | aardvark
ferret | dog | fish
dog | dog | dog
Pythonでこれを達成するためのneatest方法は何ですか? (現在、私はソートされたリストをforループを使って繰り返しています)
さらに明確にするために、私はLevenshteinや音声学のような単純な辞書のアルファベット順の比較に興味があります。
おかげ
+1するだけでなく、名前の選択:) –
あなたはリストが空である場合の世話をする必要があります。 インデックス== 0の場合: なし他 =左:左 =干し草の山[インデックス-1] かのインデックス== LEN(干し草の山): 右=他なし : 右=干し草の山[インデックス]左 リターンは、右 – tonfa
申し訳ありませんが、私はコメント内のコードを配置することは可能だと思いました。 – tonfa