我不明白给定代码中的语句 x = points[i,0]?但是,当我尝试使用列表中的类似列表数据时,出现错误



>我从一个生成数据点的示例中看到了这个。点数据是存储在 Excel 文件中的列表列表。我不明白 x = points[i,0] 的说法,比如它是如何工作的?此外,我创建了自己的数据作为列表列表,但相同的语句不起作用?

这就是我所做的

ded = [[1, 2], [3, 2], [3, 3], [5, 1], [8, 0], [4, 7], [5, 7], [4, 6]]
for i in range(0, len(ded)):
    x = ded[i, 0]
    y = ded[i, 1]
    print(x, y)
from numpy import *
points = genfromtxt("data.csv", delimiter=",")
for i in range(0, len(points)):
    x = points[i, 0]
    y = points[i, 1]
    print(x,y)

以下是点数据的存储格式:

[[ 32.50234527  31.70700585]
 [ 53.42680403  68.77759598]
 [ 61.53035803  62.5623823 ]
 [ 47.47563963  71.54663223]
 [ 59.81320787  87.23092513]

存储在列表列表中,但列表之间没有逗号。

这是我使用我的版本得到的:

Traceback (most recent call last):
  File "c:UsersomanzDocumentspythonpython trialsPythonWithMoshdictionary.py", line 57, in <module>
    x = ded[i, 0]
TypeError: list indices must be integers or slices, not tuple

这是我使用在线代码示例得到的答案:

32.50234526945303 31.70700584656992
53.42680403327502 68.77759598163891
61.53035802563644 62.5623822979458
47.4756396347861 71.54663223356778
59.81320786951232 87.23092513368739
55.14218841394382 78.21151827079923...

points值具有不同的类型,此类型处理元组。内置 python 的vector不处理元组,所以如果你想要二维数组,你需要使用这样的东西:

ded[i][0]

最新更新