我正在尝试学习如何在 python 中使用 Numpy 数组,并致力于一项任务,其目标是将某些值从 square 函数附加到 np 数组。
具体来说,尝试以结果看起来像这样的方式附加到数组。
[[0, 0], [1, 1], [2, 4], [3, 9], [4, 16], [5, 25](....)
换句话说,有点像使用 for 循环附加到嵌套列表,如下所示:
N = 101
def f(x):
return x**2
list1 = []
for i in range(N+1):
list1.append([i])
list1[i].append(f(i))
print(list1)
当我尝试使用类似下面的 Numpy 数组来执行此操作时:
import numpy as np
N = 101
x_min = 1
x_max = 10
y = np.zeros(N)
x = np.linspace(x_min,x_max, N)
def f(x):
return x**2
for i in y:
np.append(y,f(x))
print(y)
我得到以下输出:
[0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0.]
...这显然是错误的
数组作为一种数据类型对我来说很新,所以如果有人能帮助我,我将不胜感激。
来自有动力学习并欢迎所有帮助的新秀的问候。