Python 使用pop&;反转列表;插入

Python 使用pop&;反转列表;插入,python,list,Python,List,知道为什么reverse_1会反转输入列表,而reverse_2不会吗 我已经在调试器中运行了这两个程序,问题似乎是reverse_2没有返回反向列表 def reverse_1(seq): return_list = list() for i in range(len(seq)): return_list.append(seq.pop()) seq.extend(return_list) def reverse_2(seq): length

知道为什么
reverse_1
会反转输入列表,而
reverse_2
不会吗

我已经在调试器中运行了这两个程序,问题似乎是
reverse_2
没有返回反向列表

def reverse_1(seq):
    return_list = list()
    for i in range(len(seq)):
        return_list.append(seq.pop())
    seq.extend(return_list)


def reverse_2(seq):
    length = len(seq)
    for i in range(length):
        seq.insert(0, seq.pop())


example = [1, 2, 3, 4, 5, 6]
reverse_1(example) #OUTPUT - [6, 5, 4, 3, 2, 1]
reverse_2(example) #OUTPUT - [1, 2, 3, 4, 5, 6]
.insert(0,n)
将在列表前面插入
n
,因此在第一次迭代中,它将弹出
6
,并在开始处插入:

[6, 1, 2, 3, 4, 5]
第二次迭代将弹出
5
,并类似地插入它:

[5, 6, 1, 2, 3, 4]
一个可能的解决方案是将线路改为:

seq.insert(i, seq.pop())