要实现的目标
有如下列表:
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