def fun(val,list=[]): list.append(val) return list lis1 = fun(10) lis2 = fun(123,[]) lis3 = fun('a') print 'lis1=',lis1 print 'lis2=',lis2 print 'lis3=',lis3
--------
lis1= [10, 'a']
lis2= [123]
lis3= [10, 'a']
工作过程其实没怎么遇到过,这个其实就是函数形参的传递问题。在缺省值情况下,他会自动保留前面一个List的值。