Python 構造を使用したリストの差の設定
リストを操作する場合、多くの場合、あるリストから別のリストを減算するなどの操作を実行する必要があります。 。 Python では、この操作は集合差分として知られており、一方のリストのもう一方のリストにも存在するすべての要素を削除することが含まれます。
ループを使用して集合差分を実行する単純なアプローチは、線形であるため非効率的です。時間の複雑さ。ただし、Python には、このタスクを達成するためのより効率的で慣用的な方法が用意されています。
Python のソリューション: リスト内包
Python のリスト内包構文を使用すると、簡潔で効率的なリスト操作タスクが可能になります。次のコード スニペットは、リスト内包表記を使用して集合差分を実行する方法を示しています。
l1 = [1, 2, 6, 8] l2 = [2, 3, 5, 8] l3 = [x for x in l1 if x not in l2] print(l3) # Output: [1, 6]
このコードでは、リスト内包表記 [x for x in l1 if x not in l2] が l1 の各要素を反復処理します。各要素 x について、式 x not in l2 は、x が l2 に存在しないかどうかをチェックします。 true の場合、x が結果のリスト l3 に追加されます。その結果、l3 には、l2 には存在しない l1 の要素が含まれます。
以上がPython でリスト間の集合差を効率的に計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。