def f(x,l=[]): for i in range(x): l.append(i*i) print l f(2) f(3,[3,2,1]) f(3) 答案: [0, 1] [3, 2, 1, 0, 1, 4] [0, 1, 0, 1, 4] 呃? 第一个函数调用十分明显,for循环先后将0和1添加至了空列表l中.l是变量的名字,指向内存中存储的一个列表. 第二个函数调用在一块新的内存中创建了新的列表.l这时指向了新生成的列表.之后再往新列表中添加0.1.2和4.很棒吧. 第三个函数调用的…