python 下矩阵倒置的实现,python生成矩阵,Python下矩阵倒


Python下矩阵倒置,可以用双重循环,或者是zip实现。

循环实现:

嵌套的列表推导式

matrix = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]
matrix_t = [[row[col] for row in matrix] for col in range(len(matrix[0]))]
matrix_t
[[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]

原理很简单:先循环列,在固定列上循环每一行。

用zip 实现(以python3为实现方式):

matrix = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]
matrix_t = list(map(list, zip(*matrix)))
matrix_t
[[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]

原理也很清晰:先用zip并行迭代每一个列表,然后再用map将迭代后的元组转成列表。

python 下矩阵倒置的实现

评论关闭