2016-08-22 161 views

回答

1

一个简单的列表理解可以做到这一点。

arr = [i[0] for i in arr] 

您也可以使用map

arr = map(lambda x:x[0], arr) 
1

您可以使用列表理解。

>>>arr = [[1], [2], [3], [4]] 
>>>result = [a[0] for a in arr] 
>>>result 
[1, 2, 3, 4] 
0

嵌套列表理解的是通常的方式:

>>> L = [[1],[2],[3],[4]] 
>>> [n for sublist in L for n in sublist] 
[1, 2, 3, 4] 
+0

这是很好的,因为它会压平列表的任意列表。 –

+2

Downvoter care to comment? – wim

0

有些选项:

In [85]: import functools 
In [86]: functools.reduce(lambda x, y: x + y, arr) 
Out[86]: [1, 2, 3, 4] 

还有一句:

In [87]: import itertools 
In [88]: [*itertools.chain(*arr)] 
Out[88]: [1, 2, 3, 4] 
相关问题