Python输出以及为什么

Avi*_*ldi 0 python python-3.x python-requests

x = [10,20,30]

for i in x:
     print(i)
     x.append(40)
     x = [50,60]

print(x)
Run Code Online (Sandbox Code Playgroud)

输出为:

10
20
30
40
[50,60]
Run Code Online (Sandbox Code Playgroud)

为什么20、30、40来?不是50,60

小智 6

发生这种情况的原因是因为循环使用了在第1行中创建的列表对象。在第5行中,将40添加到该对象,然后将新对象分配给x 变量。循环仍在使用您之前创建的对象。