Pythonでリストを転置
def transpose(matrix):
return [list(row) for row in zip(*matrix)]
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
transposed_matrix = transpose(matrix)
print(transposed_matrix)
説明:
-
zip(*matrix)
は、各行の対応する要素をまとめてタプルにします。 - リスト内包表記
[list(row) for row in zip(*matrix)]
により、各タプルをリストに変換し、新しいリストとして返します。 - numpyに変換して、transpose関数を使うのも手。
JavaScriptでリストを転置
function transpose(matrix) {
return matrix[0].map((_, colIndex) => matrix.map(row => row[colIndex]));
}
const matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
];
const transposedMatrix = transpose(matrix);
console.log(transposedMatrix);
説明:
-
matrix[0].map((_, colIndex) => matrix.map(row => row[colIndex]))
は、各列の要素を取り出し、新しい配列を作成します。 - 最初の
map
関数は列のインデックスを提供し、内側のmap
関数が各行の要素を収集します。