use*_*176 3 python list flatten python-2.7
我已经搜索了SO如何压缩列表列表(例如:在Python中列出列表中的列表)但是我找到的解决方案都没有将列表列表的列表展平为仅列表名单.
我有:
my_list = [ [ [1,2,3],[4,5] ], [ [9],[8,9,10],[3,4,6] ], [ [1] ] ]
Run Code Online (Sandbox Code Playgroud)
我想要:
my_list = [ [1,2,3,4,5], [9,8,9,10,3,4,6], [1] ]
Run Code Online (Sandbox Code Playgroud)
该解决方案也适用于浮动列表.有什么建议?
如果我们应用这个答案的逻辑,那不应该只是:
In [2]: [[item for subsublist in sublist for item in subsublist] for sublist in my_list]
Out[2]: [[1, 2, 3, 4, 5], [9, 8, 9, 10, 3, 4, 6], [1]]
Run Code Online (Sandbox Code Playgroud)
并且,同样通过itertools.chain():
In [3]: [list(itertools.chain(*sublist)) for sublist in my_list]
Out[3]: [[1, 2, 3, 4, 5], [9, 8, 9, 10, 3, 4, 6], [1]]
Run Code Online (Sandbox Code Playgroud)