微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我无法在数组旋转的末尾插入temp元素

如何解决我无法在数组旋转的末尾插入temp元素

def temprotate(arr,d,n):
    temp = []
    for i in range(d):
        temp.append(arr[i])

    # Function to shift arr by 2
    for i in range(n - d):
        arr[i] = arr[i + d]

    # Function to reinsert temp elements
    for i in range(d):
        a = temp[i]
        for i in range(1,d + 1):
            arr.insert(arr[n - i],a)


def printarr(arr,size):
    for i in range(size):
        print(arr[i],end=' ')


arr = [1,2,3,4,5,6,7]
temprotate(arr,7)
printarr(arr,7)

结果= 3 2 4 5 6 7 6

我不知道插入代码部分有什么问题!

当我希望插入函数将列表中的元素替换为临时中的其他元素时,insert函数似乎想向列表中添加元素。

解决方法

目前尚不清楚您想做什么,但

# Function to reinsert temp elements,AT THE END
    for i in range(d):
        a = temp[i]
        arr[(n-d)+i] = a

# Function to reinsert temp elements,IN SAME PLACE
    for i in range(d):
        a = temp[i]
        arr.insert(i,a)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。