Pythonでtuple(タプル)をlist(リスト)に変換する方法をまとめます。
基本
list()
でくくってあげれば良い。
1 | 1,2) obj = ( |
ネスト (入れ子)への対応
パターン1. tuple-list構造
これは要するに、タプルの要素がリストなだけなので基本
と同じ。
1 | 1,2], [3,4]) obj = ([ |
パターン2. list-tuple構造
リスト内包表記で生成したのち、タプル化する
1 | obj = [{1,2}, {3,4}] |
ジェネレータ式で生成したのち、タプル化する
1 | obj = [{1,2}, {3,4}] |
パターン3. tuple-tuple構造
これまでの方法を組み合わせれば良い。
1 | 1,2], [3,4]] obj = [[ |
パターン4. 階層が不明、またはバラバラ
再帰を使って実装でき流。
リストまたはタプルかどうかisinstance
を使ってチェックする。
1 | def tolist(obj): |
1 | >>> obj = ((1,2),(3,4,5),((6,),),[7],[[[8],],],[([9,],),]) |
おまけ タプル化
1 | def totuple(obj): |
1 | >>> obj = [[1,2], [3,4],5,(6,7)] |