Pythonでセット(set)をリスト(list)に変換する2つの方法
Pythonでデータ分析を行う際、データコンテナをセット(set)からリスト(list)へ変換する必要が生じることがあります。セットは重複のない要素の集合を扱うのに便利ですが、インデックスによるアクセスや順序付きの処理を行いたい場合にはリストへの変換が有効です。本記事では、この変換を実現する代表的な2つの方法を解説します。
list()関数を使う方法
最もシンプルで直感的なのが、組み込み関数 list() をセットに直接適用する方法です。セットの各要素がそのままリストの要素へと変換されます。
コード例
setA = {'Mon', 'day', '7pm'}
# 元となるセット
print("Given set : \n", setA)
res = (list(setA))
# 変換結果
print("Final list: \n", res)実行結果
上記のコードを実行すると、次のような出力が得られます。
Given set :
{'Mon', '7pm', 'day'}
Final list:
['Mon', '7pm', 'day']なお、セットは順序を持たないデータ構造のため、出力時の要素の並び順は実行環境によって異なる場合があります。変換後のリスト内の順序が必要な場合は、sorted() 関数などで明示的にソートすることをおすすめします。
*演算子(アスタリスク)を使う方法
もうひとつの方法は、アンパック演算子である *(アスタリスク)を利用する手法です。セットを * で展開し、それを角括弧 [] で囲むことで、新しいリストを作成できます。
コード例
setA = {'Mon', 'day', '7pm'}
# 元となるセット
print("Given set : \n", setA)
res = [*setA]
# 変換結果
print("Final list: \n", res)実行結果
上記のコードを実行すると、次のような出力が得られます。
Given set :
{'Mon', '7pm', 'day'}
Final list:
['Mon', '7pm', 'day']まとめ
どちらの方法も1行でセットをリストに変換できる手軽な手法です。可読性や意図の明確さを重視するなら list() 関数が、他のリスト操作と組み合わせる場面では * 演算子が便利です。用途に応じて使い分けることで、より柔軟なデータ処理が可能になります。
-
Pythonで文字のリストを文字列に変換する方法を解説
Pythonでは、リスト内の個々の要素をひとつの文字列にまとめたい場面がよくあります。たとえば、データを保存したり送信したりする際に必要となるシリアライズ(直列化)の処理では、このような変換が非常に役立ちます。具体的には、次のような変換を指します。[h, e, l, l, o, , w, o, r, l, d] → hello worldjoinメソッドを使った変換Pythonには、このような変換を実現するためのjoin()メソッドが標準で用意されています。joinメソッドは、区切り文字(デリミタ)として使う文字列に対して呼び出し、引数に渡したリストの各要素を連結します。今回は各文字をつなげ
-
Pythonでリストをタプルに変換する方法
Pythonでは、リストをタプルに変換するのは非常に簡単です。組み込み関数である tuple() 関数にリストを引数として渡すだけで、変換することができます。サンプルコードmy_list = [1, 2, 3] my_tuple = tuple(my_list) print(my_tuple)出力結果上記のコードを実行すると、以下のような出力が得られます。(1, 2, 3)解説tuple() 関数は、リストだけでなく文字列や辞書などのイテラブル(反復可能なオブジェクト)もタプルに変換できます。タプルはリストと異なりイミュータブル(変更不可)であるため、データを誤って書き換えたくない場合や、辞書