Pythonでは、2次元リストの行と列を転置するために、zip
関数とリストのアンパックをうまく使うことができます。
まず、zip
関数について説明します。zip
関数は、複数のイテレータを引数として受け取り、それぞれの要素をまとめてタプルとして返す関数です。
次に、リストのアンパックについて説明します。リストの前にアスタリスクをつけると「アンパック」という処理が行われます。これは、リストの一番上の次元の要素を取り出して引数として渡す処理になります。
これらを組み合わせることで、2次元リストの行と列を転置することができます。
以下に具体的なコードを示します。
# 元のリスト
list_org = [[0, 1, 2], [3, 4, 5], [6, 7, 8]]
print(list_org)
# 転置
list_transposed = [list(x) for x in zip(*list_org)]
print(list_transposed)
このコードでは、zip(*list_org)
によってリストの各行がアンパックされ、それぞれの行の同じ位置の要素がタプルとしてまとめられます。その後、リスト内包表記を用いて各タプルをリストに変換し、それらをまとめた新たなリスト(つまり転置された2次元リスト)を作成しています。
以上がPythonで2次元リストを転置する方法です。このテクニックは、データ処理や競技プログラミングなど、さまざまな場面で役立つでしょう。.