numpy 与限值相关的切片列表

66bbxpm5  于 2023-01-26  发布在  其他
关注(0)|答案(2)|浏览(104)

我有以下关于数组切片的问题。
我有一个如下形式的数组:
a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
我想提取一个如下的数组
b = [8, 9, 10, 0, 1, 2, 3].
我试着使用通常的声明,如:b = a[-3 : 3],但它返回一个空数组,因为它超出了数组限制。
我想不出怎么才能把这个数组按正确的排列方式提取出来。

gz5pxeao

gz5pxeao1#

您可以只连接要查找的列表切片:

b = a[-3:] + a[:4]
vngu2lb8

vngu2lb82#

在这个例子中,我们保留了所有的数组元素,为此,有一个名为roll的函数。

>>> import numpy as np
>>> a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> np.roll(a, 3)
array([8, 9, 10, 0, 1, 2, 3, 4, 5, 6, 7])

您也可以使用负数以另一种方式滚动:

>>> np.roll(a, -3)
array([ 3,  4,  5,  6,  7,  8,  9, 10,  0,  1,  2])

相关问题