Python 原生代码实现矩阵转置
A = [ [1, 2, 3], [4, 5, 6], [7, 8, 9],]list(zip(*A))# [(1, 4, 7), (2, 5, 8), (3, 6, 9)]*A把 A 拆成多行,分别作为参数传给zipzip把多个序列按位置打包,同时迭代多行,相当于按列取元素,也就实现了转置
结果里每一行是元组,需要列表的话写成 [list(row) for row in zip(*A)]。
A = [ [1, 2, 3], [4, 5, 6], [7, 8, 9],]list(zip(*A))# [(1, 4, 7), (2, 5, 8), (3, 6, 9)]*A 把 A 拆成多行,分别作为参数传给 zipzip 把多个序列按位置打包,同时迭代多行,相当于按列取元素,也就实现了转置结果里每一行是元组,需要列表的话写成 [list(row) for row in zip(*A)]。