我有一个我需要用空格分隔的一维列表。我在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
答案 0 :(得分:4)
您正在以错误的方式构建list
个对象。如果你发布你正在做的事情,可能会清楚实际问题。
您会注意到以下内容:
mylist = [ 0.01322341, 0.07460202, 0.00832512]
mylist[0] # 0.01322341
mylist[1] # 0.07460202
mylist[2] # 0.00832512
工作正常。根据您发布的内容,您有list
种array
种类型。当您访问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就在列表中。