リスト間の固有の違いを見つける
複数のリストを扱う場合、多くの場合、リストを比較して要素の違いを特定する必要があります。 Python では、これを効率的に行う 1 つの方法は、2 つのリスト間の集合の差を見つけることです。
例:
一意の値を持つ次の 2 つのリストを考えてみましょう。要素:
temp1 = ['One', 'Two', 'Three', 'Four'] temp2 = ['One', 'Two']
目的:
temp2 には存在しない temp1 の要素を含む 3 番目のリスト (temp3) を作成します。この場合、予想される出力は次のとおりです:
temp3 = ['Three', 'Four']
解決策:
ループや明示的な比較の使用を避けるために、set データ型を利用して、効率的に2つの違いリスト:
temp3 = list(set(temp1) - set(temp2))
説明:
セットの非対称性差:
集合の差は可換ではないことに注意してください。これは、set(temp1) - set(temp2) が set(temp2) - set(temp1) と必ずしも等しくないことを意味します。例:
set([1, 2]) - set([2, 3]) == {1} set([2, 3]) - set([1, 2]) == {3}
両方のセットに固有の要素を含めることが目的の結果である場合は、metric_difference() メソッドを使用できます:
set([1, 2]).symmetric_difference(set([2, 3])) == {1, 3}
以上がPython で 2 つのリスト間の固有の違いを効率的に見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。