【Python】リスト(list)同士の引き算方法を簡単に解説

【Python】リスト(list)同士の引き算方法を簡単に解説

公開: 更新:


Pythonのリスト(list)同士の引き算

【サンプルコード】
list1 = [5, 10, 15, 20, 25]
list2 = [10, 20]
subtracted_list = [item for item in list1 if item not in list2]
print(subtracted_list)
【実行結果】
[5, 15, 25]

リストはPythonにおいて、複数の値を順序付きで格納できるデータ構造です。

上記のコードでは、まずlist1list2という2つのリストを作成しています。list1には5から25までの5の倍数が含まれており、list2には10と20が含まれています。

次にリスト内包表記を使用して、list1からlist2に含まれていない要素だけを抽出しています。この表記ではitemという変数list1の各要素に対して順に適用され、それがlist2に存在しない場合にのみ新しいリストに追加されます。

今回の方法は、一つのリストから別のリストに含まれている要素を効率的に取り除くのに役立ちます。

最後に、結果となるsubtracted_listprint関数で表示しています。ここでの結果は、list1からlist2に含まれていた10と20を取り除いた新しいリスト、すなわち[5, 15, 25]となります。


Python基礎・実践(Django)

企業・法人向けのPython研修では、基礎から応用まで体系的に学べます。

Python研修の詳細

DX社員研修

企業・法人向けのDX研修では、実務に繋がるリスキリングでITレベルを向上させます。

DX研修の詳細

Javaエンジニア育成研修

企業・法人向けのJavaエンジニア育成研修では、Javaの基礎から応用まで確実に習得できます。

Java研修の詳細

新卒・新入社員向け研修

企業・法人に新入社員・新卒社員に向けたプログラミング研修を提供しています。

新入社員研修の詳細

コードキャンプのIT研修を全て見る

セットを用いたリスト(list)同士の引き算

【サンプルコード】
list1 = [3, 6, 9, 12, 15]
list2 = [6, 12]
set_difference = list(set(list1) - set(list2))
print(set_difference)
【実行結果】
[9, 3, 15]

セットの定義として、重複を許さない順序がないデータ構造のことです。

上記のサンプルコードでは、list1list2という2つのリストを使用しています。リストをセット(集合)に変換することで、セット同士の引き算(差集合)を利用しています。

上記のコードでは、まずlist1list2をセットに変換し、その後セットの差集合を計算しています。差集合は最初のセットには含まれているが、二番目のセットには含まれていない要素の集合です。

結果として得られたセットを再びリストに変換し、set_differenceという変数に格納しています。print関数でこの変数を出力すると、list1からlist2に含まれていた要素を取り除いた結果が表示されます。

今回の方法は、順序を考慮せずにリストから特定の要素を取り除きたい場合に有効です。

filter関数を使ったリスト(list)同士の引き算

【サンプルコード】
list1 = [1, 2, 3, 4, 5]
list2 = [2, 4]
filtered_list = list(filter(lambda x: x not in list2, list1))
print(filtered_list)
【実行結果】
[1, 3, 5]

上記のコードでは、filter関数を用いてリストから特定の要素を取り除く方法を紹介しています。filter関数は、条件に一致する要素のみを新しいリストに含めるために使われます。

今回はラムダ関数(無名関数)を使用しており、list1の各要素がlist2に含まれていないかどうかをチェックします。ラムダ関数はlambda x: x not in list2の形で書かれ、xlist1の各要素を表します。

filter関数はこの条件に基づき、list1の要素をフィルタリングし、条件に合致するものだけを新しいリストに含めます。最終的にfiltered_listとして結果が得られ、print関数で出力されます。

この方法は条件に基づいてリストから要素を選択的に取り除く場合に特に役立つでしょう。

※上記コンテンツの内容やソースコードはAIで確認・デバッグしておりますが、間違いやエラー、脆弱性などがある場合は、コメントよりご報告いただけますと幸いです。

ITやプログラミングに関するコラム


ITやプログラミングに関するニュース

ブログに戻る

コメントを残す

コメントは公開前に承認される必要があることにご注意ください。

コードキャンプDX人材育成研修 - IT・プログラミングを知って学べるコネクトメディア フューチャーアーキテクト株式会社が実現した新入社員向けIT研修プログラムでタスクフォース制度が主体的な学びと成長を生み出す - IT・プログラミングを知って学べるコネクトメディア コードキャンプDX人材育成研修 - IT・プログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/【IT新入社員研修】オンラインとオフラインの最適バランスを実現したFutureOneの導入事例 - IT・プログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/【新入社員研修】柔軟なハイブリッド型Java研修で実現した新卒20名の成長と成果|サークレイス株式会社 - ITやプログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/現場により近いところにデジタルを根付かせるDX基礎講座研修|株式会社ブリヂストン - ITやプログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/業務の効率化・DX推進に向けたIT人材育成への第一歩|株式会社カナエ - ITやプログラミングを知って学べるコネクトメディア 企業・法人向けのIT・プログラミング研修 - ITやプログラミングを知って学べるコネクトメディア

新着記事

対象者別で探す

子供(小学生・中学生・高校生)向け
プログラミング教室検索する

子供(小学生・中学生・高校生)がロボットやプログラミング言語を学ぶことができるオフラインからオンラインスクールを検索、比較することが可能です。

子供(小学生・中学生・高校生)
プログラミング教室検索する

ITやプログラムなどの
最新情報を検索する

日々、新しいITやプログラミング言語の情報が流れていきますが、特定の情報を時系列でニュースやコラムを確認することができます。

ITやプログラムなどの
最新情報を検索する