在Python中,有没有一种方法可以保存数组的索引子集以供以后使用?

时间:2019-01-28 09:25:06

标签: python arrays

我的代码当前有一个数组,例如:

arr = np.ones((512, 512)).

我感兴趣的是阵列的某个区域。我通常这样访问它:

arr[50:200,150:350] #do stuff here.

我想知道,是否有某种方法可以使变量包含[50:200,150:350]?这样,如果我需要稍微更改掩码,则可以在文件顶部执行一次操作,而不是在访问它的任何地方进行操作。

我尝试了mask = [50:200,150:350]arr[mask],但Python语法不允许这样做。

感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

显然numpy扩展了切片,并允许多个slice()对象,每个维度一个。

import numpy
o = numpy.ones((32, 32))
print(o[3:5,3:5])

foo = slice(3,5), slice(3,5)
print(o[foo])

两个咒语都会产生相同的结果:)