面试题(5)

来源:互联网 发布:特斯拉公司知乎 编辑:程序博客网 时间:2024/06/07 00:47

如何把嵌套的python list转成一个一维的python list?
a = [[1,2,3], [5, 2, 8], [7,8,9]], 想把a变成[1,2,3, 5, 2, 8, 7,8,9]

1 最简单的a = [[1,2,3],[4,5,6], [7], [8,9]]a= sum=(a,[])2 python3from functools import reducea = [[1,2,3],[4,5,6], [7], [8,9]]a= reduce(lambda x,y:x+y,a)3 自知乎大神的暴力黑科技a = [[1,2,3],[4,5,6], [7], [8,9]]a = eval('[%s]'%repr(a).replace('[', '').replace(']', ''))4 itertools.chain.from_iterable()方法import itertoolsa = [[1,2,3],[4,5,6], [7], [8,9]]a = list(itertools.chain.from_iterable(a))5 使用numpy中flatten()注:该函数只能适用于numpy对象,即array或者mat,普通的list列表是不行的。from numpy import *a = [[1,2,3], [5, 2, 8], [7,8,9]]a =array(a)a = list(a.flatten())Out: [1, 2, 3, 5, 2, 8, 7, 8, 9]

等等还有其他大神的一些方法就不一一列举了,有兴趣的可以点击知乎链接
查看更多方法哦

原创粉丝点击