访问由多个数组组成的数组的各个元素,Python
我正在使用一个返回多个数组的数组的函数,比如说a。我不知道如何访问每个单独的元素。因此,我正在考虑将A重新排列为两个数组的矩阵,以便访问它们。另一个选择是将A(可以是10**6阶)重新排列为一个大的稀疏矩阵,这里的问题是我不知道如何实现这一点。我需要指出我想要避免Forloop。我知道访问由多个数组组成的数组的各个元素,Python,python,arrays,numpy,scipy,Python,Arrays,Numpy,Scipy,我正在使用一个返回多个数组的数组的函数,比如说a。我不知道如何访问每个单独的元素。因此,我正在考虑将A重新排列为两个数组的矩阵,以便访问它们。另一个选择是将A(可以是10**6阶)重新排列为一个大的稀疏矩阵,这里的问题是我不知道如何实现这一点。我需要指出我想要避免Forloop。我知道A(这里是7)的总长度,但不知道每个数组的长度。下面是A A = array([[array([0, 1, 4])], [array([0, 1, 2, 5])],
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是一个包含数组列表的数组。您只需展平阵列即可获得阵列阵列 现在,您可以按如下方式访问每个阵列:
>> A_flat[4][2]
5
>> A_flat[2][3]
6
你确定吗?展平阵列的形状是什么?形状是(7,)。所以它不是一个真正的矩阵。还是我遗漏了什么?有可能把一个单位嵌入到一个7乘7的
稀疏矩阵中吗?
A_flat = A.flatten()
>> A_flat[4][2]
5
>> A_flat[2][3]
6