867.转置矩阵
方法一:
class Solution:
def transpose(self, matrix: List[List[int]]) -> List[List[int]]:
m , n = len(matrix), len(matrix[0]) # 原矩阵是m*n大小的
transposed = [[0] * m for _ in range(n)] # 转置矩阵是n*m大小的
for i in range(m):
for j in range(n):
transposed[j][i] = matrix[i][j]
return transposed
方法二:效率最高
class Solution:
def transpose(self, matrix: List[List[int]]) -> List[List[int]]:
return list(list(row) for row in zip(*matrix))
方法三:numpy
class Solution:
def transpose(self, matrix: List[List[int]]) -> List[List[int]]:
import numpy as np
return np.transpose(matrix).tolist()