Pythonでtuple(タプル)をlist(リスト)に変換する方法をまとめます。
基本
list()でくくってあげれば良い。
1 | obj = (1,2) |
ネスト (入れ子)への対応
パターン1. tuple-list構造
これは要するに、タプルの要素がリストなだけなので基本と同じ。
1 | obj = ([1,2], [3,4]) |
パターン2. list-tuple構造
リスト内包表記で生成したのち、タプル化する
1 | obj = [{1,2}, {3,4}] |
ジェネレータ式で生成したのち、タプル化する
1 | obj = [{1,2}, {3,4}] |
パターン3. tuple-tuple構造
これまでの方法を組み合わせれば良い。
1 | obj = [[1,2], [3,4]] |
パターン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)] |