【发布时间】:2015-11-28 16:58:23
【问题描述】:
所以这是我所拥有的一个例子:
x1 = [1,2,3]
x2 = [4,5,6]
如果我跑:
x3 = zip([x1,x2])
我得到:[([1,2,3],),([4,5,6])]
如果我跑步:
x3 = zip(x1,x2)
我得到了我正在寻找的东西:[(1,4),(2,5),...]
这是问题的关键:
我有一个要定义为的函数签名:
def function(...):
return [x1,x2,...],y
其中 x1 和 x2, ... 是每个列表,x 的数量是任意的...
我需要压缩输出,基本上是:
[(x1[0],x2[0],...,xn[0]), (x1[1],x2[1],...,xn[1]),...,(x1[n2],x2[n2],...,xn[n2])]
如果我改为从函数中输出一个元组,压缩仍然会失败(它会像列表一样压缩它):
def function(x1,x2):
return (x1,x2)
x4 = zip(function(x1,x2))
output: [([1,2,3],),...]
我唯一能想到的就是以某种方式积累论点......但我有一种感觉,我试图用zip 做的事情可能是不可能的。有没有办法传回向量列表,并将它们转换为行列表,其中元素是每个向量的第一个元素?我真的宁愿避免使用 python for 循环来执行此操作...(甚至可以累积一个参数以传递给函数吗?)
【问题讨论】:
标签: python