matrix = [
[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12],
]
transposed: list[list[int]] = []
for i in range(4):
transposed.append([row[i] for row in matrix])
Or
matrix = [
[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12],
]
transposed: list[list[int]] = []
for i in range(4):
transposed_row = []
for row in matrix:
transposed_row.append(row[i])
transposed.append(transposed_row)
|
matrix = [
[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12],
]
transposed = [
[row[i] for row in matrix] # This inner list comprehension is evaluated in the context of the for that follows it
for i in range(4) # 4 is how many element we have in each row
]
|