Python 3でユニークなエントリーを持つ2つのリストの違いを取得する

PYTHON3 チュートリアル

Pythonを用いたリストの比較とユニークなエントリーの抽出方法

Pythonで2つのリストの違いを見つけるためには、いくつかの方法があります。ここでは、主にsetを使用した方法とリスト内包表記を用いた方法を紹介します。これらの方法はPythonの基本的な機能を使用しており、Python 3で効率的に動作します。

方法1: setを使用する方法

set(集合)を使用する方法は、2つのリストからユニークな要素を簡単に抽出できる方法です。setには重複する要素が保存されないため、2つのリストの差集合を取得するのに適しています。

list_a = [1, 2, 3, 4]
list_b = [3, 4, 5, 6]

unique_in_a = list(set(list_a) - set(list_b))
unique_in_b = list(set(list_b) - set(list_a))

print("リストAのユニークな要素:", unique_in_a)
print("リストBのユニークな要素:", unique_in_b)

方法2: リスト内包表記を使用する方法

リスト内包表記を利用することで、forループとif文を組み合わせたコンパクトなコードでユニークな要素を抽出することができます。

list_a = [1, 2, 3, 4]
list_b = [3, 4, 5, 6]

unique_in_a = [item for item in list_a if item not in list_b]
unique_in_b = [item for item in list_b if item not in list_a]

print("リストAのユニークな要素:", unique_in_a)
print("リストBのユニークな要素:", unique_in_b)

方法3: symmetric_differenceを用いる方法

setのsymmetric_differenceメソッドを使用すると、2つの集合に共通しない要素のみを取得することができます。このメソッドは、両方のリストに特有の要素を一度に取得したい場合に便利です。

list_a = [1, 2, 3, 4]
list_b = [3, 4, 5, 6]

set_a = set(list_a)
set_b = set(list_b)

sym_diff = list(set_a.symmetric_difference(set_b))

print("両リストのユニークな要素:", sym_diff)

以上の方法を使って、Pythonで2つのリスト間のユニークな要素を効率的に抽出することができます。用途に応じて最適な方法を選択してください。

購読
通知
0 Comments
Inline Feedbacks
View all comments