切片索引或结束,如果结束小于索引(python)

时间:2016-12-15 14:17:55

标签: python slice

我想对某些byte[] arr = { 0x00, 0x01 }; ByteBuffer wrapped = ByteBuffer.wrap(arr); // big-endian by default short num = wrapped.getShort(); // 1 ByteBuffer dbuf = ByteBuffer.allocate(2); dbuf.putShort(num); byte[] bytes = dbuf.array(); // { 0, 1 } 对象np.ndarray进行切片:

foo

但有时结束可能大于bar = foo[:end] 。然后我想得到len(foo)。如果我写bar = foo,我就能达到这个目的。但它似乎不是pythonic。有更简单的方法吗?

1 个答案:

答案 0 :(得分:3)

实际上,您不需要任何特殊逻辑来处理超出范围的切片。默认情况下,如果end太大,则切片将包含数组的末尾。

>>> a = np.array([1,2,3])
>>> a
array([1, 2, 3])
>>> a = a[:10]
>>> a
array([1, 2, 3])