Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonでリストのリストをセットのリストに変換する方法

Pythonでは、リストの中にさらにリストが入った「リストのリスト」を、各要素をセット(set)に変換した「セットのリスト」へ変換したいケースがあります。例えば、重複する要素を取り除きたい場合などです。このような場合には、組み込み関数である mapsetlist を組み合わせて使うことで、簡潔に実現できます。

サンプルコード

以下に具体的な実装例を示します。

my_list = [[2, 2, 2, 2], [1, 2, 1], [1, 2, 3], [1,1], [0]]

print("リストのリストは:")
print(my_list)

my_result = list(map(set, my_list))

print("変換後のリストは:")
print(my_result)

出力結果

リストのリストは:
[[2, 2, 2, 2], [1, 2, 1], [1, 2, 3], [1, 1], [0]]
変換後のリストは:
[{2}, {1, 2}, {1, 2, 3}, {1}, {0}]

処理の流れと解説

  • まず、複数のリストを要素として持つ「リストのリスト」を定義し、その内容をコンソールに表示します。

  • map(set, my_list) により、外側のリストの各要素(内側のリスト)に対して set 関数が適用されます。これにより、各リストがセットに変換され、重複する要素が自動的に削除されます。

  • map オブジェクトはイテレータとして返されるため、list() で囲むことで通常のリスト形式に戻します。

  • 変換結果は変数 my_result に代入されます。

  • 最後に、結果をコンソールに出力して確認します。

補足ポイント

  • セットは順序を持たないため、出力時の要素の並び順は環境によって異なる場合があります。

  • 重複除去だけが目的で順序を維持したい場合は、dict.fromkeys() を使う方法も検討するとよいでしょう。

  • リスト内包表記を使って [set(sub) for sub in my_list] と書くこともでき、こちらの方が可読性を好む開発者もいます。

  1. 【Python入門】リストを文字列に変換する4つの方法を徹底解説

    本記事では、Pythonでリスト(list)型のデータを文字列(string)型に変換する方法について、代表的な4つのアプローチをサンプルコードとともにわかりやすく解説します。 問題設定 与えられたリストを、ひとつながりの文字列に変換することを目標とします。例えば、複数の文字列要素を持つリストを結合して、単一の文字列として扱いたいケースなどが該当します。 ここでは、以下の4つの異なるアプローチを順番に見ていきましょう。 方法1: 空の文字列への連結(forループ) 最も基本的な方法は、空の文字列を用意し、forループでリストの各要素を順番に連結していくやり方です。処理の流れが直感的で、初心者

  2. Pythonリスト入門:作成から操作、削除まで徹底解説

    このチュートリアルでは、Pythonのリスト(List)について学びます。リストの作成方法、要素へのアクセス、要素の追加・削除、リスト自体の削除など、基本的な操作を一つずつ丁寧に解説していきます。 Pythonでは、リストは角括弧 [] を使って構築し、各要素はカンマ , で区切って記述します。 Pythonのリストは、異なる型のオブジェクトを混在させて格納できるのが特徴です。すべて文字列である必要も、整数である必要もありません。例えば、以下のように複数の型が混ざったリストを作成できます。mixedTypesList = [a, True, 1, 1.0] リストの作成方法 リストは、角括弧