我尝试制作一个可以容纳一些数组片段的字典
比如[127:130, 122:124]
,但dict = {1:[127:130, 122:124], 2:[127:129, 122:123]}
不起作用。
有办法做到这一点吗?它不需要是dicts,但我想要一堆这些区域可以调用。
所以我有256x256阵列,我想在其中选择一些小区域进行一些计算:
fft[127:130, 122:124]
如果括号中的整个部分可以在dict中,那就太棒了
答案 0 :(得分:2)
您可以使用slice功能。它返回一个可以存储在字典中的切片对象。例如:
slice_1 = slice(127, 130)
slice_2 = slice(122, 124)
slice_a = slice(127, 129)
slice_b = slice(122, 123)
d = {1:[slice_1, slice_2],
2:[slice_a, slice_b]
}
x = fft[d[1]] # Same as fft[127:130, 122:124]
y = fft[d[2]] # Same as fft[127:129, 122:123]
答案 1 :(得分:0)
切片 numpy 数组返回a view, and not a copy,也许这就是你要找的?
import numpy
a = numpy.arange(10)
b = a[3:6] # array([3, 4, 5])
a[4] = 0
#b is now array([ 3, 0, 5])
b[1] = 1
#a is now array([0, 1, 2, 3, 1, 5, 6, 7, 8, 9])