use*_*194 4 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:]}
Run Code Online (Sandbox Code Playgroud)
这提供了通过dict引用的值,以反映在完整数组中所做的任何更改.我需要dict中的组的大小是灵活的.但是,当一个组只是一个元素时,例如:
my_dict2 = {'group_a':my_array[0], 'group_b':my_array[1:]}
Run Code Online (Sandbox Code Playgroud)
...然后numpy似乎返回元素值而不是指针.dict中的值不再反映数组中的任何更改.有没有办法澄清我想要指针甚至单个元素引用?
我知道没有办法做到这一点,可能最简单的解决方法是让字典中的值成为单元素列表,如下所示:
my_dict2 = {'group_a':my_array[0:1], 'group_b':my_array[1:]}
Run Code Online (Sandbox Code Playgroud)
即
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])}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
289 次 |
| 最近记录: |