これに似た質問はたくさんあります (ここに 1 つ) がありますが、私が見た解決策ではリスト内包表記またはフィルターを使用し、それらの方法で新しいリスト (または Python 3.x のフィルターの場合は新しいイテレーター) を生成します。リスト自体を変更してインスタンスを削除するソリューション ( thisやthis など) があり、それらは私の最後の手段です。ただし、よりエレガントな(別の質問で「Pythonic」と呼ばれる)方法があるかどうかを確認するよう求めています。
新しいリストを生成するソリューションを無視している理由: リストのコレクションを繰り返し処理しています。Python では、繰り返し処理している「現在の」リストを変更できますが、完全に置き換えることはできません。
>>> ll= [[1,2,3], [2,3,4], [4,5,6]]
>>> for l in ll:
if l[0] == 2:
l = [10]
>>> ll
[[1, 2, 3], [2, 3, 4], [4, 5, 6]] #replacement didn't happen
>>> for l in ll:
if l[0] == 2:
l.remove(2)
>>> ll
[[1, 2, 3], [3, 4], [4, 5, 6]] #modification succeeded