一意のエントリを持つ2つのリストの違いを取得する 質問する

一意のエントリを持つ2つのリストの違いを取得する 質問する

Python には 2 つのリストがあります。

temp1 = ['One', 'Two', 'Three', 'Four']
temp2 = ['One', 'Two']

各リストの要素が一意であると仮定して、2 番目のリストに含まれない最初のリストの項目を含む 3 番目のリストを作成します。

temp3 = ['Three', 'Four']

サイクルやチェックなしで高速な方法はありますか?

ベストアンサー1

含まれるtemp1が含まれない要素を取得するにはtemp2 (各リスト内の要素が一意であると仮定):

In [5]: list(set(temp1) - set(temp2))
Out[5]: ['Four', 'Three']

非対称なので注意してください。

In [5]: set([1, 2]) - set([2, 3])
Out[5]: set([1]) 

ここで、 と等しくなることを期待/望むかもしれませんset([1, 3])。 を答えとして望む場合はset([1, 3])、 を使用できますset([1, 2]).symmetric_difference(set([2, 3]))

おすすめ記事