Python

【Python】2つのリスト(list)の要素を比較して一致、差分を算出するサンプルコード

この記事は約3分で読めます。

 

今回は、Pythonを使用して2つのリストの要素を比較して共通、差分を抽出する方法について解説します。Pythonでは、リスト同士の要素を比較する際に、集合(set)を使用することができます。集合は、要素が重複しないように格納され、順序がないデータ型です。

 

2つのリストの一致する要素の抽出

 

まずは、リスト同士の要素を比較して一致する要素を抽出する方法について説明します。

下記の例では、2つのリストを用意し、それぞれの要素を比較し、一致する要素を抽出します。

“`python
list1 = [1, 2, 3, 4, 5]
list2 = [3, 4, 5, 6, 7]

# 一致する要素を抽出
result = list(set(list1) & set(list2))

print(result)
# [3, 4, 5]
“`

2つのリストの差分を抽出する①

 

次に差分を抽出する方法について説明します。

下記の例では、2つのリストを用意し、それぞれの要素を比較し、差分を抽出します。

 

list1 = [1, 2, 3, 4, 5]
list2 = [3, 4, 5, 6, 7]

# 差分を抽出
result = list(set(list1) - set(list2))

print(result)
# [1, 2]

 

上記の例では、`set()`を使ってリストを集合に変換し、`-`演算子を使って2つの集合の差集合を求めています。

 

2つのリストの差分を抽出する②

 

またXOR演算子(^)を用いることで2つのリストの共通しない要素をすべて取得することが可能です

 

list1 = [1, 2, 3, 4, 5]
list2 = [3, 4, 5, 6, 7]

# 一致する要素を抽出
result = list(set(list1) ^ set(list2))

print(result)
# [1, 2, 6, 7]

 

(おまけ)2つのリストの重複を除外する

 

OR演算子(|)を使用することで2つのリストの重複する要素を排除することができます

 

list1 = [1, 2, 3, 4, 5]
list2 = [3, 4, 5, 6, 7]

# 一致する要素を抽出
result = list(set(list1) | set(list2))

print(result)
# [1,2,3, 4, 5,6,7]

 

 

終わり

 

以上が、Pythonを使用してリストの要素を比較して一致、共通、差分を抽出する方法についての解説です。これらの方法を使うことで、リスト同士の要素の比較を効率的に行うことができます

 

 

関連記事;Pandasで条件に一致したデータを検索・抽出するサンプルコード

 

関連記事:pandasで2つのデータフレームの行の差分を取得する方法

 


プログラミング・スクレイピングツール作成の相談を受け付けています!

クラウドワークス・ココナラ・MENTAなどでPython・SQL・GASなどのプログラミングに関する相談やツール作成などを承っております!

過去の案件事例:

  • Twitter・インスタグラムの自動化ツール作成
  • ウェブサイトのスクレイピングサポート
  • ダッシュボード・サイト作成
  • データエンジニア転職相談

これまでの案件例を見る

キャリア相談もお気軽に!文系学部卒からエンジニア・データサイエンティストへの転職経験をもとに、未経験者がどう進むべきかのアドバイスを提供します。


スポンサーリンク
/* プログラミング速報関連記事一覧表示 */
ミナピピンの研究室

コメント

タイトルとURLをコピーしました