转换数组列表

时间:2013-04-29 16:21:53

标签: python arrays

我是python的新手。如何转换这样的数组:

x=[[0.3], [0.07], [0.06]]

成:

x=[0.3,0.07, 0.06]

? 提前谢谢。

3 个答案:

答案 0 :(得分:5)

以下列表理解可能有用。

>>> x=[[0.3], [0.07], [0.06]]
>>> y = [a for [a] in x]
>>> y
[0.3, 0.07, 0.06]

考虑到内部值也是list类型。

cdhowie给出的类似但更易读的代码如下。

>>> x=[[0.3], [0.07], [0.06]]
>>> y = [a[0] for a in x]
>>> y
[0.3, 0.07, 0.06]

答案 1 :(得分:4)

这是itertools.chain.from_iterable

的经典用法
from itertools import chain
print list(chain.from_iterable(x))

这个例子真正闪耀的地方是你有一个迭代,其中包含任意长度的迭代:

[[0],[12,15],[32,24,101],[42]]

答案 2 :(得分:0)

new_x = []
for elem in x:
    new_x.extend(elem)

这适用于每个子列表中的任意数量的元素。