Pythonでは、組み込みのlist()メソッドを使用して、SetをListに変換することができます。
この関数を使った例を見てみましょう。
Pythonで集合をリストに変換するメソッド
Pythonのセットオブジェクトをリストオブジェクトに素早く変換できる簡単なメソッドについて説明します。
1. list()関数の使い方
list()関数は、引数としてイテラブルを受け取り、それをList型オブジェクトに変換する関数です。
これはビルトインメソッドなので、すぐに使うことができます。
my_list = list(my_iterable)
|
集合も反復可能なので、それを list() メソッドに渡すと、対応するリストが得られます。
my_set = set({1, 4, 3, 5})
my_list = list(my_set)
print(my_list)
|
予想通り、出力は上記の値を含むリストとなります。
[1, 3, 4, 5]
|
リストの順番はランダムであり、必ずしもソートされている必要はないことに注意してください。
例えば、以下のスニペットを見てみましょう。
s = set()
s.add("A")
s.add("B")
print(list(s))
|
私の場合の出力
['B', 'A']
|
この記事もチェック:Pythonのsample関数を使ってリストからランダムに要素を抽出する方法
2. 手動による反復処理の利用
セットは反復可能なので、手動でリストに要素を追加することもできます。
この方法は、list() メソッドと比較して、自分で書くということ以外に実世界での利点はない。
s = set({1, 2, 3})
a = []
for i in s:
a.append(i)
print(a)
|
繰り返しますが、出力はリストです。
[1, 2, 3]
|
フロジンセットのリストへの変換
Pythonのfrozensetオブジェクトは集合に似ていますが、immutable(不変)です。
したがって、frozensetの要素を変更することはできません。
このタイプの集合も list() を使って変換することができます。
f_set = frozenset({1, 3, 2, 5})
a = list(f_set)
print(a)
|
結果は以下の通りです。
[1, 2, 3, 5]
|