Python My_list.extend([My_list.pop(),My_list.pop])

Python My_list.extend([My_list.pop(),My_list.pop]),python,python-3.x,Python,Python 3.x,我的代码: 所以当我打印它时,结果是 [1, 2, 5, 4, 3] 因此,为什么这会扭曲最后三个元素,Python的执行顺序是由内而外,从左到右 因此,python首先填充my_list中的三个元素,然后从左到右创建一个列表->[5,4,3],然后执行extend将所有内容前后追加 基本上,您的代码所做的是: my_list=[1,2,3,4,5] 秒=[] second.append(my_list.pop()) second.append(my_list.pop()) second.ap

我的代码:

所以当我打印它时,结果是

[1, 2, 5, 4, 3]

因此,为什么这会扭曲最后三个元素,Python的执行顺序是由内而外,从左到右

因此,python首先填充
my_list
中的三个元素,然后从左到右创建一个列表->
[5,4,3]
,然后执行
extend
将所有内容前后追加

基本上,您的代码所做的是:

my_list=[1,2,3,4,5]
秒=[]
second.append(my_list.pop())
second.append(my_list.pop())
second.append(my_list.pop())
我的列表。扩展(秒)

my_list=[1,2,3,4,5]
最初,在第一次弹出
my_list=[1,2,3,4]
5之后返回,在第二次弹出
my_list=[1,2,3]
和4之后返回,在第三次弹出
my_list=[1,2]
3之后返回。现在您可以
my_list.extend([5,4,3])
这使得
my_list=[1,2,5,4,3]
[1, 2, 5, 4, 3]