以下实例是3✖4的矩阵列表
**
1.利用列表推导式来实现4✖3的矩阵列表
matrix = [
[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12],
]
# 将3✖4的矩阵列表转换成4✖3的矩阵列表
kk = [[rwo[i] for row in matrix]for i in range(4)]
print(kk)
# 结果: [[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]
简单理解:
矩阵列表,在大的列表当中有3个列表,每个列表中有4个元素,所以首先用一个i来标号,标到4为止,可以利用for循环和range函数来生成一个列表,从1到4。
然后再利用for循环遍历matrix中的每一个元素,此处就是那三个列表,再利用列表推导式返回结果row[i],就实现了将每个列表的第i个元素拿了出来又放到了一个新的列表中,因为i是从1到4,所以最后会形成4个新的列表,都放在一个列表当中,就形成列表嵌套。
2.另外一种实现方法:将上面的方法拆分开来看
matrix = [
[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12],
]
transposed = []
for i in range(4):
transposed.append([row[i] for row in matrix])
print(transposed)
# 结果: [[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]
结果相同