Skip to main content
 首页 » 编程设计

python之在python中移动数组的元素

2025年05月04日9birdshome

我正在尝试循环移动数组的元素,以便所有元素都被前一个元素替换,最后一个元素旋转到第一个元素,如下所示:shift(1, [5, 6, 7])=> [7, 5, 6].

以下代码只返回 [7,5]。有人可以告诉我是什么导致了这种情况发生吗?我一步一步地浏览代码,根本找不到解决方案。我还尝试了 3 种不同的口译员。

def shift(key, array): 
    counter = range(len(array)-1) 
    new = counter 
    for i in counter: 
        new[i] = array[i-key] 
    return new 
 
print shift(1, [5, 6, 7]) 

请您参考如下方法:

range(5) 返回 [0, 1, 2, 3, 4]。它不包括 5。

只需从 range(len(array)-1) 中删除 -1 就可以了。

您还可以使用列表切片:

def shift(key, array): 
    return array[-key:] + array[:-key]