我是 python 新手。如何像这样转换数组:
x=[[0.3], [0.07], [0.06]]
进入:
x=[0.3,0.07, 0.06]
? 提前致谢。
以下列表推导可能有用。
>>> 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]
这是一个经典的用法itertools.chain.from_iterable
from itertools import chain
print list(chain.from_iterable(x))
这个例子真正闪耀的地方是当你有一个包含任意长度迭代的迭代时:
[[0],[12,15],[32,24,101],[42]]
new_x = []
for elem in x:
new_x.extend(elem)
这适用于每个子列表的任意数量的元素。