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

Muhammad Waiz Khan 2023年1月30日
  1. Python で list() メソッドを使ってセットをリストに変換する
  2. Python でリスト内包表記を使用してセットをリストに変換する
Python でセットをリストに変換する

このチュートリアルでは、Python でセットをリストに変換する様々な方法を解説します。リストは Python の標準的なデータ型で、値を順番に格納するものですが、セットも Python の標準的なデータ型で、値を順不同のコレクションとして格納するものです。

セットとリストの違いは、セットは同じ要素の複数回の出現を許さず、リストのように要素の順番を保持しないことです。これらは異なるプロパティを持っているため、異なる組み込みメソッドを持っていることを意味します。

セットをリストに変換するための様々な方法を以下に説明します。

Python で list() メソッドを使ってセットをリストに変換する

Python の list() メソッドは反復可能なオブジェクトを入力として受け取り、リストを出力として返します。メソッドにパラメータを渡さなかった場合、空のリストを返します。

セットも反復可能なオブジェクトなので、list() メソッドに渡してリストに変換することができます。以下のコード例は、list() メソッドを使って Python でセットをリストに変換する方法を示しています。

myset = set(["Amsterdam", "Paris", "London", "New York", "Tokyo"])

mylist = list(myset)
print(type(mylist))

出力:

<class 'list'>

Python でリスト内包表記を使用してセットをリストに変換する

リスト内包表記は、反復可能なオブジェクトから新しいリストを作成する包括的な構文的な方法です。リスト内包を使って、値を置き換えたり、文字列型を整数型に変換したりするなど、新しいリストを作成している間にイテレート可能なオブジェクトに対して何らかのアクションやフィルタを実行することができます。

Python では、以下の構文を使ってリスト内包を実装することができます。

  • 単純なリスト内包表記:
mylist = [f(x) for x in iterable]
  • 条件付きリスト内包表記:
mylist = [f(x) if condition else g(x) for x in iterable]

集合全体をリストに変換したいので、最初の構文を使用します。以下のコード例は、Python で集合をリストに変換するためにリスト内包を使用する方法を示しています。

myset = set(["Lahore", "Delhi", "London", "New York", "Tokyo"])
mylist = [x for x in myset]
print(type(mylist))

出力:

<class 'list'>

関連記事 - Python Set

関連記事 - Python List