Python zip x阵列数
我有一个程序绘制了一个巨大的数字列表,它可能不是最具python风格的,但它很有效。我有3个主数组,分别是X、Y和Y错误。每个阵列都有子阵列,但是:Python zip x阵列数,python,arrays,Python,Arrays,我有一个程序绘制了一个巨大的数字列表,它可能不是最具python风格的,但它很有效。我有3个主数组,分别是X、Y和Y错误。每个阵列都有子阵列,但是: xAxis = [[x1],[x2],[x3],[...] yAxis = [[y1],[y2],[y3],[...]] yError = [[err1],[err2],[err3],[...]] 在这个例子中,我将1到6y的任意值与xAxis[0]作图,并且有相等数量的yerror 然后我使用matrix2latex包。这是一个困难的部分,因为
xAxis = [[x1],[x2],[x3],[...]
yAxis = [[y1],[y2],[y3],[...]]
yError = [[err1],[err2],[err3],[...]]
在这个例子中,我将1到6y的任意值与xAxis[0]作图,并且有相等数量的yerror
然后我使用matrix2latex包。这是一个困难的部分,因为matrix2latex需要压缩表中的每个数组
我想避免:
if howManyY == 1:
zip(xAxis[0],yAxis[0],yError[0])
if howManyY == 2:
zip(xAxis[0],yAxis[0],yAxis[1],yError[0],yError[1])
等等。这应该可以
zipArgs = [ xAxis[0] ]
zipArgs.extend([ yAxis[i] for i in xrange(howManyY) ])
zipArgs.extend([ yError[i] for i in xrange(howManyY) ])
zip(*zipArgs)
将列表或元组转换为函数的位置参数。应该这样做
zipArgs = [ xAxis[0] ]
zipArgs.extend([ yAxis[i] for i in xrange(howManyY) ])
zipArgs.extend([ yError[i] for i in xrange(howManyY) ])
zip(*zipArgs)
将列表或元组转换为函数的位置参数。这是否满足您的需要
zip(*([xAxis[0]] + yAxis[:howManyY] + yError[:howManyY]))
这能满足你的需要吗
zip(*([xAxis[0]] + yAxis[:howManyY] + yError[:howManyY]))
这与我上面的原始代码给出的顺序不同。我不太清楚为什么,但我也试过了。我的结果最终是[[xvalues]、[y1values]、[y2values]、[yerror1valeus]、[yerror2values]]而不是[x,y1,y2,e1,e2,x,y1,y2,y2],这给出了与上面的原始代码不同的顺序。我不太清楚为什么,但我也试过了。我的结果是[[xvalues]、[y1values]、[y2values]、[yerror1valeus]、[yerror2values]]而不是[x,y1,y2,e1,e2,x,y1,y2,y2],非常有效,谢谢!这与瓦伦丁·克莱门特所说的非常相似,但随后他删除了他的答案,非常感谢!这与瓦伦丁·克莱门特所说的非常相似,但随后他删除了他的答案