2016-11-19 6 views
0

私は指定されたリストの単語をどのように索引付けするのかを理解していますが、リストにない単語とセットリストがある場合、新しい単語の索引位置を追加したり、 ?例えばリストに新しい単語を挿入せずにリストを反復する方法は?

: DEF find_insert_position:私は新しい単語を決定する方法をリストを変更することなく、 a_list = [ '鳥'、 '犬'、 'アリゲーター'] new_animal = '牛'

、ソートされたリストの中に挿入されますか?したがって、新しい単語を入力した場合、そのリストはアルファベット順に集計されます。これは指定されたリストと単語なので、手前の単語はわかりません。私はPython3を使用しています。それでは、カウンタをインクリメント

ワードリストinthe各項目0〜 ループに可変カウンタを設定し、与えられた単語をリスト内の項目よりも大きい場合に与えられたリスト とリスト内の各単語を比較

+2

をあなたはあなたの例では実現がどこにもいないあなたが作るために「牛」を挿入することができそのリストはアルファベット順ですか? –

+0

@JonClementsそれは宿題です。指定されたリスト内の指定された名前のインデックスを返します。単語がリストにない場合は、単語の順序を変更せずに単語を挿入する場所を決定する必要があります。私はPythonでリストをソートしてアルファベット順に並べ替えることができますが、それをリストに追加することができない場合は、単語の位置を見つける方法がわかりません。 –

答えて

0

、その後、あなたはこれを試すことができます。

def find_insert_position(lst, word): 
    new_lst = lst[:] # make a copy of the list so you don't modify the original 
    new_lst.append(word) # add word to lst 
    sorted_lst = sorted(new_lst) 
    return sorted_lst.index(word) # return 0-based position of word in sorted list 

a_list = ['Bird', 'Dog', 'Alligator'] 
new_animal = 'Cow' 

print(find_insert_position(a_list, new_animal)) 
+0

私はこれをやっていると思っていました。新しいリストを作成しないと言っているわけではありません。笑。ありがとうございます!!仕様のすべての条件に合うように修正する必要がありましたが、テストに合格しました。再度、感謝します! –

0

あなたはループから外れています、カウンター値はあなたが探しているインデックスです。

これをコードに変換することができます。それは、元のリストを変更することなく litst 別に単語を追加するために許容可能である場合

+0

私の同級生はこのように説明しようとしていたと思うが、私はそれが私のために働くことができなかったので、何か間違ったことがあったに違いない。 –

関連する問題