嵌套列表解析

以下实例是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]]

结果相同

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值