Python array()返回[list()list()]
我试图从一个列表中创建一个numpy数组,代码如下:Python array()返回[list()list()],python,numpy,Python,Numpy,我试图从一个列表中创建一个numpy数组,代码如下: def NDDTabel_new(arr_x,arr_y): Tabel = [[]] for column in range(1,len(arr_x)+1): Tabel.append([]) for row in range(column-1,len(arr_x)+1): Tabel[column].append("") Tabel
def NDDTabel_new(arr_x,arr_y):
Tabel = [[]]
for column in range(1,len(arr_x)+1):
Tabel.append([])
for row in range(column-1,len(arr_x)+1):
Tabel[column].append("")
Tabel[0]=["x","f(x)"]
for i in range(2,len(Tabel)):
Tabel[0].append("DD"+str(i-1))
for i in range(len(arr_x)):
Tabel[i+1][0]=arr_x[i]
Tabel[i+1][1]=arr_y[i]
for i in range(1,len(arr_x)):
for j in range(1,len(Tabel)-1):
Tabel[j][i+1]=(Tabel[j+1][i]-Tabel[j][i])/(Tabel[j+1][0]-Tabel[j][0])
return Tabel
调用函数后,结果是:
[list([1, 2, 3]) list([-2.0, 1.0]) list([-1.5])]
我希望它是:
[[1 2 3]
[-2.0 1.0]
[-1.5]
有什么问题吗?我想这可能只是一个显示工件。。。不确定从哪里获得输出显示,但这些看起来像是您要求它创建的列表。但您不是在创建numpy数组,而是在创建普通的python字典。也许你更清楚你想看到什么?你不能用大小不同的列表制作一个2d数组。您得到的是一个对象数据类型数组,非常类似于列表列表。