python---实现矩阵转置

实现矩阵转置的两种方式
1). 列表生成式
2). 内置函数zip

li = [
[1,2,3,3,4],
[4,5,6,2,1],
[7,8,9,1,2]
]
方法一 列表生成式

li = [
    [1,2,3,4],
    [5,6,7,8],
    [9,10,11,12],
    [13,14,15,16]
]
print([item2 for item1 in li for item2 in item1])

这里写图片描述
方法1:
print([[ row[columnIndex] for row in li] for columnIndex in range(5)])
columnIndex=0=====> 返回的是每一行的第0个索引值; [1,4,7]
columnIndex=1=====> 返回的是每一行的第0个索引值; [2,5,8]
方法二 内置函数zip

li = [
    [1,2,3,4],
    [5,6,7,8],
    [9,10,11,12],
    [13,14,15,16]
]
"""
    *li: 解包
    zip    1).打包函数, 用于将可迭代的对象作为参数,
           将对象中对应的元素打包成一个个元组,
           然后返回由这些元组组成的列表。
           2).如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,
           利用 * 号操作符,可以将元组解压为列表
           3). zip 方法在 Python 2 和 Python 3 中的不同:
           在 Python 3.x 中为了减少内存,zip() 返回的是一个对象。
           如需展示列表,需手动 list() 转换。
"""

print(list(zip(*li)))

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值