豌豆花下猫,某985高校毕业生, 兼具极客思维与人文情怀 。专注python技术、数据科学和深度学习,力图创造一个有趣又有用的学习分享平台。
上个月,有同学问了个题目,大意可理解为列表降维
,例子如下:
oldlist = [[1, 2, 3], [4, 5]]
# 想得到结果:
newlist = [1, 2, 3, 4, 5]
原始数据是一个二维列表,目的是获取该列表中所有元素的具体值。从抽象一点的角度来理解,也可看作是列表解压或者列表降维。
这个问题并不难,但是,怎么写才比较优雅呢?
# 方法一,粗暴拼接法:
newlist = oldlist[0] + oldlist[1]
这种方法简单粗暴,需要拼接什么内容,就取出来直接拼接。然而,如果原列表有很多子列表,则这个方法就会变得繁琐了。
我们把原问题升级一下:一个二维列表包含 n 个一维列表元素,如何优雅地把这些子列表拼成一个