Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Numpy-引用单个元素时保留指针_Python_Arrays_Pointers_Numpy - Fatal编程技术网

Python Numpy-引用单个元素时保留指针

Python Numpy-引用单个元素时保留指针,python,arrays,pointers,numpy,Python,Arrays,Pointers,Numpy,我正在处理从python字典的值到numpy数组的映射,如下所示: import numpy as np my_array = np.array([0, 1, 2, 3, 4, 5, 6]) my_dict = {'group_a':my_array[0:3], 'group_b':my_array[3:]} 这提供了通过dict引用的值,以反映在整个数组中所做的任何更改。我需要dict中的组的大小是灵活的。但是,当组仅为单个元素时,例如: my_dict2 = {'group_a':my_a

我正在处理从python字典的值到numpy数组的映射,如下所示:

import numpy as np
my_array = np.array([0, 1, 2, 3, 4, 5, 6])
my_dict = {'group_a':my_array[0:3], 'group_b':my_array[3:]}
这提供了通过dict引用的值,以反映在整个数组中所做的任何更改。我需要dict中的组的大小是灵活的。但是,当组仅为单个元素时,例如:

my_dict2 = {'group_a':my_array[0], 'group_b':my_array[1:]}

…然后numpy似乎返回元素值而不是指针。dict中的值不再反映数组中的任何更改。有没有一种方法可以澄清,即使对于单个元素引用,我也需要指针?

据我所知,没有办法做到这一点,可能最简单的解决方法就是让字典中的值成为单个元素列表,如下所示:

my_dict2 = {'group_a':my_array[0:1], 'group_b':my_array[1:]}


很有魅力,很容易概括到我的情况。谢谢
In [2]: my_array = np.array([0, 1, 2, 3, 4, 5, 6])

In [3]: my_dict2 = {'group_a': my_array[0:1], 'group_b': my_array[1:]}

In [4]: my_dict2
Out[4]: {'group_a': array([0]), 'group_b': array([1, 2, 3, 4, 5, 6])}

In [5]: my_array[0] = 200

In [6]: my_dict2
Out[6]: {'group_a': array([200]), 'group_b': array([1, 2, 3, 4, 5, 6])}