如何在变量名称中存储具有两个索引的数组?

时间:2019-05-22 10:22:31

标签: python numpy

我在2内有一个数组,用于遍历索引i,j的循环。我想将数组存储为变量,以便该变量带有索引[i,j]。我该怎么办

import numpy as np
n = 5
cond = [[[],[]] for _ in range(n)]
for i in range(n):
    for j in range(n):
        H=np.array([[1,i],[3,j]])
        eig_values, eig_vectors = np.linalg.eig(H)
        eig_vectors[:,0][np.newaxis]
        cond[i,j] = eig_vectors[:,0][np.newaxis]

我收到一条错误消息,说“列表索引必须是整数或切片,而不是元组”

1 个答案:

答案 0 :(得分:0)

是的,您可以将cond声明为numpy数组,例如声明为zeros的数组。 如果我理解正确,您想为每个eig_vectors[:,0]存储i, j,这是下面的代码所做的。

import numpy as np
n = 5
cond = np.zeros((n, n, 2)) # declare a numpy array of zeros of shape (n, n, 2)
for i in range(n):
    for j in range(n):
        H=np.array([[1,i],[3,j]])
        eig_values, eig_vectors = np.linalg.eig(H)
        cond[i,j] = eig_vectors[:,0]