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())