我正在使用一个函数返回几个数组的数组,比如说A.我不知道如何访问每个单独的元素。因此,我想将A重新排列为两个数组的矩阵,以便我可以访问它们。另一种选择是重新排列A(可以是10 ** 6的顺序)到一个大的稀疏矩阵,这里的问题又是我不知道如何实现这一点。我需要指出,我想避免 Forloop 。我知道A
的总长度(这里是7),但不知道每个单独数组的长度。以下是A
A = array([[array([0, 1, 4])],
[array([0, 1, 2, 5])],
[array([1, 2, 3, 6])],
[array([2, 3, 7])],
[array([0, 4, 5, 8])],
[array([1, 4, 5, 6, 9])],
[array([ 2, 5, 6, 7, 10])]])
这是我试图将其更改为
的索引B = (array([0,0,0,1,1,1,1,2,2,2,2,3,3,3,4,4,4,4,5,5,5,5,5,6,6,6,6,6]),
array([0,1,4,0,1,2,5,1,2,3,6,2,3,7,0,4,5,8,1,4,5,6,9,2,5,6,7, 10]))
如果这是不可能的。你能帮我看看我是否可以访问每个单独的元素,例如,有没有办法可以执行以下操作
A[4][2] = 5
或
A[2][3] = 6
非常感谢你的帮助。
答案 0 :(得分:0)
您的阵列 A 是包含数组列表的数组。您可以将数组展平以获得数组。
A_flat = A.flatten()
现在您可以像这样访问每个单独的数组:
>> A_flat[4][2]
5
>> A_flat[2][3]
6