あるリストにあるすべての要素を別のリストから削除する 質問する

あるリストにあるすべての要素を別のリストから削除する 質問する

l12 つのリストとがあるとします。に含まれないのすべての要素を返す をl2実行したいとします。l1 - l2l1l2

これを行うには単純なループ アプローチが考えられますが、これは非常に非効率的です。これを Python で効率的に行う方法は何でしょうか?

例えば、 の場合l1 = [1,2,6,8] and l2 = [2,3,5,8]l1 - l2は次のように返します。[1,6]

ベストアンサー1

Pythonには、リストの内包表記これは、このようなことを非常に簡単にするのに最適です。次のステートメントは、まさに必要なことを実行し、結果を に格納しますl3

l3 = [x for x in l1 if x not in l2]

l3が含まれます[1, 6]

おすすめ記事