我正在尝试使用两个变量输入来对数组进行切片,例如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]
引用最后一个元素arr[0:100]
用于10项数组将返回
整个数组,但是arr[100]
当然会引发错误。