访问数组项

时间:2012-08-23 05:14:57

标签: python spyder

我有一个我需要用空格分隔的一维列表。我在spyder中运行这个脚本,用于在Mac OS 10.8上以并行方式运行的ubuntu。

我得到的是:

print poly    
Output: [array([ 0.01322341,  0.07460202,  0.00832512])]

print poly[0]    
Output: [array([ 0.01322341,  0.07460202,  0.00832512])]

print poly[1]    
Output:
Traceback (most recent call last):

  File "/home/parallels/.../RampEst.py", line 38, in <module>

    print poly[1]

IndexError: list index out of range

“...”是文件目录的其余部分。

我需要的是:

print poly[0]    
Output: 0.01322341

print poly[1]    
Output: 0.07460202

print poly[2]    
Output: 0.00832512

2 个答案:

答案 0 :(得分:4)

您正在以错误的方式构建list个对象。如果你发布你正在做的事情,可能会清楚实际问题。

您会注意到以下内容:

mylist = [ 0.01322341,  0.07460202,  0.00832512]
mylist[0] # 0.01322341 
mylist[1] # 0.07460202 
mylist[2] # 0.00832512 

工作正常。根据您发布的内容,您有listarray种类型。当您访问0元素时,您正在检索列表中唯一的array对象。如果您无法更改列表的结构,这将正常工作。

poly[0][0] # 0.01322341 
poly[0][1] # 0.07460202 
poly[0][2] # 0.00832512 

答案 1 :(得分:0)

你如何首先初始化聚? 似乎数组在列表中,这将使它成为列表的第0个元素。因此,当您请求poly [1]时,它会失败。 要检查我说的是否正确,请执行poly [0] [0],poly [0] [1]和poly [0] [2]。如果它们返回您想要的数字,那么您的poly就在列表中。