gpt4 book ai didi

python - 创建第一个和最后一个元素不同且所有其他元素相同的 numpy 数组

转载 作者:行者123 更新时间:2023-11-30 22:50:28 28 4
gpt4 key购买 nike

我想创建以下类型的数组

N = 5 # size of the array
eta = 2
a00 = 1 # first element of array
a0N = 3 # last element of array
# all entries should be 'eta' except the first and the last one
diag = [a00, eta, eta, eta, a0N]

我知道如何创建将 eta 作为其所有条目的数组,如下所示。

diag = np.zeros(N) + eta

我可以使用它来创建我想要的东西吗?np.zeros(N) 还是我必须使用更低级别的构造函数,例如 numpy.ndarray? 。

最佳答案

我不知道这种数组的内置方法。这是一种非常标准的方法。

N = 5 # size of the array
eta = 2
a00 = 1 # first element of array
a0N = 3 # last element of array

# make a vector of 'etas', then change the first and last element
diag = np.ones(N,)*eta
diag[0] = a00
diag[-1] = a0N

另一个解决方法是创建所需数组中的元素列表。然后你可以使用 np.array 将其转换为数组,如下所示:

list_diag = [a00] + [eta for i in range(N-2)] + [a0N]
diag = np.array(list_diag)

注意:后一种解决方案可能看起来很可爱,但随着 N 变大,速度会慢得多。

关于python - 创建第一个和最后一个元素不同且所有其他元素相同的 numpy 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39339646/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com