3

私は壁にぶつかり、乗り越えるために助けやアドバイスが必要でした。

特定の文字列を常にリストの最後に追加したい。

だから私たちは持っています

List1 = ["sony","cant recall","samsung","dont know","apple","no answer", "toshiba"]

次に、別のリストがあります

List2 = ["dont know", "cant recall","no answer"] 

これが私がこれまでに開発したものです。このスクリプトは基本的に、リスト 1 の単語がリスト 2 にあるかどうかをチェックし、見つかった場合は、その特定の文字列をリストの現在の位置から末尾に移動する必要があります。しかし、今のところできることは、文字列とそのインデックスを見つけることだけです。見つかった文字列をリストの最後に移動して追加する方法がわかりません。

for p, item in enumerate(list1):
    for i, element in enumerate(list2):
        if item == element:
            print item, p

ありがとう!

4

3 に答える 3

1
lst_result = set(lst1) | set(lst2)

副作用としてリストから重複を削除します。あなたがそれを望んでいるかどうかはわかりませんが、想定されているようです。

順序を維持するには:

lst1 = ["sony","cant recall","samsung","dont know","apple", "toshiba"]
lst2 = ["dont know", "cant recall","no answer"]

stripped = list(filter(lambda x: x not in lst2,lst1))
lst_result = stripped + lst2
于 2013-06-20T14:22:15.933 に答える