替代`:`选择一切

时间:2017-03-03 10:40:51

标签: python arrays numpy

我知道

np.arange(3)[:]

:意味着我想要来自特定维度的所有元素。现在,我需要在我想要的元素方面保持灵活性。我的功能类似于:

def pickSomething(index):
    return np.arange(3)[index]

其中index可以是0,1或2.但是,我还希望能够在不转换它的情况下返回整个数组。 pickSomething(:)自然是无效的语法。如果我pickSomething(None),我会创建一个我不想要的额外维度。

tl; dr :我可以在:这样的函数中传递pickSomething(index)的替代方案,这将使我保持不变np.arange(3)阵列

1 个答案:

答案 0 :(得分:1)

我认为您正在寻找Ellipsis对象。

>>> import numpy as np
>>> def pickSomething(index):
...     return np.arange(3)[index]
>>> pickSomething(Ellipsis)
array([0, 1, 2])

在Python 3中...Ellipsis的缩写。