移一个没有任何内容的numpy数组切片

时间:2018-08-07 22:10:36

标签: python arrays numpy slice nonetype

我正在尝试使用两个变量输入来对数组进行切片,例如arr[x:y]。有时候,我需要将数组切成“数组末尾”,例如arr[x:],在这种情况下,我可以设置y=None。这很方便,因为即使数组改变形状(与len(arr)相对),它也总是到最后。

但是,如果我随后想将切片移到例如[x+1, y+1] 1位,因为您无法将NoneType添加到整数而收到错误消息。

我可以在这里编写自己的add函数,但似乎应该有一种更简单的方法来完成此操作(例如,无需重构我的所有代码)。我的另一个想法是建立一个FakeNone类,该类的功能基本上像None,并且算术运算被重载,因此它们只返回FakeNone(有点像NaN),尽管这看起来像是过分杀了,我不是甚至非常确定我会怎么做。

其他说明:

  • 使用math.nan切片似乎无效
  • sys.maxsize添加任何正整数会导致溢出
  • 有一个解决方案很好,我也可以arr[y]引用最后一个元素
  • 切片可以超出列表和numpy数组的范围,但不能超出索引;例如arr[0:100]用于10项数组将返回 整个数组,但是arr[100]当然会引发错误。

0 个答案:

没有答案