Numpy范围作为常量[重复]

xoefb8l8  于 2023-03-23  发布在  其他
关注(0)|答案(2)|浏览(143)

此问题在此处已有答案

How can I create a slice object for Numpy array?(2个答案)
2天前关闭。
假设我们有

import numpy as np
z = np.array([1, 2, 3, 4, 5, 6])

在某些情况下,我希望将“numpy range”定义为全局常量,也就是说,而不是

print(z[2:4])

在我的代码中到处都是硬编码的值2和4,我更喜欢(伪代码):

MY_CONSTANT_RANGE = 2:4  # defined once

print(z[MY_CONSTANT_RANGE])

有没有办法做到这一点?也许用一个numpy range对象?
附言:当然可以

RANGE_MIN, RANGE_MAX = 2, 4
z[RANGE_MIN:RANGE_MAX]

但我很好奇是否有一种方法来定义范围常数。

deyfvvtc

deyfvvtc1#

使用slice对象:

MY_CONSTANT_RANGE = slice(2, 4)
In [205]: z[MY_CONSTANT_RANGE]
Out[205]: array([3, 4])
dohp0rv5

dohp0rv52#

另一种方法是

MY_CONSTANT_RANGE = np.s_[2:4]
print(z[MY_CONSTANT_RANGE])

相关问题