Python知识点:如何高效的把二维列表合并成一维?也就是打平

本文探讨了将Python二维列表合并为一维的三种方法:普通青年的for循环extend方法,文艺青年的列表推导式,以及博士青年的functools.reduce方法。通过性能测试,发现普通青年的方法在效率上胜出。此外,文章还分享了职业发展、大公司资源以及学习交流的重要性。
摘要由CSDN通过智能技术生成

要实现的目标

有如下列表:

nums_2d = [[12,3],[4,5,6,7],[8,9]]

要求把它合并成一维列表:

nums_1d = [1,2,3,4,5,6,7,8,9]

普通青年的方法

普通青年使用for循环和extend函数:

nums_2d = [[1,2,3],[4,5,6,7],[8,9]]

nums_1d = []
for n in nums_2d:
 nums_1d.extend(n)

print(nums_1d)

extend() 函数把一个列表里的元素逐个添加到前面的列表中。这里不能使用 +,因为这样会把子列表作为一个元素加进去,没有实现打平的目的。

如果要一定使用+也可以,那要使用两层的for循环,效率比较差。

文艺青年的方法

上面的实现竟然用了3行代码,这样一点都不pythonic,来个文艺点的做法,一行搞定:

nums_2d = [[1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值