【发布时间】:2013-01-06 03:11:51
【问题描述】:
我找了很多关于那个的话题,但我不明白到底发生了什么。
我有这个代码:
def altera(L1, L2):
for elemento in L2:
L1.append(elemento)
L2 = L2 + [4]
L1[-1] = 10
del L2[0]
return L2[:]
Lista1 = [1,2,3]
Lista2 = [1,2,3]
Lista3 = altera(Lista1, Lista2)
print Lista1
print Lista2
print Lista3
结果是:
[1, 2, 3, 1, 2, 10]
[1, 2, 3]
[2, 3, 4]
我不明白Lista1 是如何被修改的,而Lista2 不是。但是在测试代码之前,我认为Lista1 和Lista2 将保持不变,因为它们是全局变量。
【问题讨论】:
-
这是部分重复,但我认为这并不涵盖 OP 的两种情况。
标签: python variables global local