第一次碰到此问题
def f(x, l=[]):
for i in range(x):
l.append(i * i)
print(l)
f(2)
f(3, [3, 2, 1])
f(4)
结果:
[0, 1]
[3, 2, 1, 0, 1, 4]
[0, 1, 0, 1, 4]
对于第三个很奇怪,这是由于它使用了之前内存地址中存储的旧列表l[0,1]
。
第一次碰到此问题
def f(x, l=[]):
for i in range(x):
l.append(i * i)
print(l)
f(2)
f(3, [3, 2, 1])
f(4)
结果:
[0, 1]
[3, 2, 1, 0, 1, 4]
[0, 1, 0, 1, 4]
对于第三个很奇怪,这是由于它使用了之前内存地址中存储的旧列表l[0,1]
。