变换阵列列表
答
下面的列表理解可能是有用的。
>>> 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))
如果这个例子中真正的亮点是,当你有一个可迭代的任意长度iterables里面:
[[0],[12,15],[32,24,101],[42]]
答
new_x = []
for elem in x:
new_x.extend(elem)
这适用于任意数量的每子表的元素。
+0
Tnx F3AR3DLEGEND,它的作品呢! – 2013-04-29 16:48:38
或'y = [a [0] for a x]',这是等价的,假设输入元素是列表而不是其他可索引对象。 – cdhowie 2013-04-29 16:24:16
是的。这也是一个等价的方法。你介意我是否给你加标签并在答案中加入?可能对其他人有帮助。 – 2013-04-29 16:25:22
完全没有办法。 – cdhowie 2013-04-29 16:25:48