我想对某些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。有更简单的方法吗?
答案 0 :(得分:3)
实际上,您不需要任何特殊逻辑来处理超出范围的切片。默认情况下,如果end
太大,则切片将包含数组的末尾。
>>> a = np.array([1,2,3])
>>> a
array([1, 2, 3])
>>> a = a[:10]
>>> a
array([1, 2, 3])