Jan-17-2017, 07:51 AM
def f(x,l=[]): for i in range(x): l.append(i*i) print(l) f(2) f(3,[3,2,1]) f(3)Output:
[0, 1] [3, 2, 1, 0, 1, 4] [0, 1, 0, 1, 4]I can understand the first two implementation of f(), but not the third. Can someone help explain why the third output starting with 0,1, which is the memory left by the first f() result?