我有以下关于数组切片的问题。我有一个如下形式的数组:a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]我想提取一个如下的数组b = [8, 9, 10, 0, 1, 2, 3].我试着使用通常的声明,如:b = a[-3 : 3],但它返回一个空数组,因为它超出了数组限制。我想不出怎么才能把这个数组按正确的排列方式提取出来。
a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
b = [8, 9, 10, 0, 1, 2, 3]
b = a[-3 : 3]
gz5pxeao1#
您可以只连接要查找的列表切片:
b = a[-3:] + a[:4]
vngu2lb82#
在这个例子中,我们保留了所有的数组元素,为此,有一个名为roll的函数。
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])
2条答案
按热度按时间gz5pxeao1#
您可以只连接要查找的列表切片:
vngu2lb82#
在这个例子中,我们保留了所有的数组元素,为此,有一个名为
roll
的函数。您也可以使用负数以另一种方式滚动: