pythonのlist remove関数の注意事項
957 ワード
今日論文のアルゴリズムを実装するときpythonのlistのremove関数を使用すると,自分の予想通りに実行されていないことに気づき,コードを貼り付けた.は、削除すべき複数の項目(a,a,b,c,d) を含む.
期待入力[[3,4],[4,5],[5,6],[6,7]]実際出力[[2,3],[3,4],[4,5],[5,[5,6],[6,7]]は、削除すべき複数の項目(a,b,c,d,e,a) を含む.
#期待入力:[[3,4],[4,5],[5,6],[6,7]#実出力:[[3,4],[4,5],[5,6],[6,7]]は、削除する複数のアイテムを連続して含む である.
#期待入力:[[3,4],[5,6],[6,7]]#実出力:[[3,4],[2,5],[5,6],[6,7]]
削除するリストに削除する連続アイテムが複数存在する場合、最後の理由は削除すると下付きの解決策が1つ後ろに移動します.新しいリストappendを使用して状況を満たす要素を使用します.
lista = [[1, 2], [2, 3], [3, 4], [4, 5], [5, 6], [6, 7]]
for item in lista:
if 2 in item:
lista.remove(item)
print(lista)
期待入力[[3,4],[4,5],[5,6],[6,7]]実際出力[[2,3],[3,4],[4,5],[5,[5,6],[6,7]]
lista = [[1, 2], [3, 4], [2, 3], [4, 5], [5, 6], [6, 7]]
for item in lista:
if 2 in item:
lista.remove(item)
print(lista)
#期待入力:[[3,4],[4,5],[5,6],[6,7]#実出力:[[3,4],[4,5],[5,6],[6,7]]
lista = [[1, 2], [3, 4], [2, 3], [2, 5], [5, 6], [6, 7]]
for item in lista:
if 2 in item:
lista.remove(item)
print(lista)
#期待入力:[[3,4],[5,6],[6,7]]#実出力:[[3,4],[2,5],[5,6],[6,7]]
削除するリストに削除する連続アイテムが複数存在する場合、最後の理由は削除すると下付きの解決策が1つ後ろに移動します.新しいリストappendを使用して状況を満たす要素を使用します.