
【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において、複数の値を順序付きで格納できるデータ構造です。
上記のコードでは、まずlist1
とlist2
という2つのリストを作成しています。list1
には5から25までの5の倍数が含まれており、list2
には10と20が含まれています。
次にリスト内包表記を使用して、list1
からlist2
に含まれていない要素だけを抽出しています。この表記ではitem
という変数がlist1
の各要素に対して順に適用され、それがlist2
に存在しない場合にのみ新しいリストに追加されます。
今回の方法は、一つのリストから別のリストに含まれている要素を効率的に取り除くのに役立ちます。
最後に、結果となるsubtracted_list
をprint
関数で表示しています。ここでの結果は、list1
からlist2
に含まれていた10と20を取り除いた新しいリスト、すなわち[5, 15, 25]となります。
【PR】プログラミングや生成AIを無料で学べる「コードキャンプフリー」
セットを用いたリスト(list)同士の引き算
【サンプルコード】
list1 = [3, 6, 9, 12, 15]
list2 = [6, 12]
set_difference = list(set(list1) - set(list2))
print(set_difference)
【実行結果】
[9, 3, 15]
セットの定義として、重複を許さない順序がないデータ構造のことです。
上記のサンプルコードでは、list1
とlist2
という2つのリストを使用しています。リストをセット(集合)に変換することで、セット同士の引き算(差集合)を利用しています。
上記のコードでは、まずlist1
とlist2
をセットに変換し、その後セットの差集合を計算しています。差集合は最初のセットには含まれているが、二番目のセットには含まれていない要素の集合です。
結果として得られたセットを再びリストに変換し、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
の形で書かれ、x
はlist1
の各要素を表します。
filter
関数はこの条件に基づき、list1
の要素をフィルタリングし、条件に合致するものだけを新しいリストに含めます。最終的にfiltered_list
として結果が得られ、print
関数で出力されます。
この方法は条件に基づいてリストから要素を選択的に取り除く場合に特に役立つでしょう。
※上記コンテンツの内容やソースコードはAIで確認・デバッグしておりますが、間違いやエラー、脆弱性などがある場合は、コメントよりご報告いただけますと幸いです。
ITやプログラミングに関するコラム
- 【Python】仮想環境から抜ける方法
- 【Python】文字列から改行コードを除去する方法
- 【Python】10回の繰り返し処理を実装する方法
- 【Python】df(DataFrame)とは?基本的な使い方やデータ操作について解説
- 【Python】指定のファイルがあれば削除する方法
ITやプログラミングに関するニュース
- Azure SQL Managed InstanceがVector型Public Preview対応開始、AI駆動アプリケーション開発の効率化を実現
- GoogleがGmailアプリにGeminiサマリーカードを導入、メール要約の自動表示機能が利用可能に
- ZenchordとNottaが共同開発したAIイヤホンZenchord 1をMakuakeで先行公開、音声認識から議事録作成まで自動化
- Ideinが音声解析AIサービス「Phonoscape」の提供を開始、対面接客現場での会話データ活用が可能に
- Microsoftが.NET 10 Preview 4でdotnet run app.cs機能をリリース、プロジェクトファイル不要でC#実行が可能に