>>> a = [1,2,3,4,5] >>> b = a >>> b[0] = 10 >>> print a [10,2,3,4,5]在python中,list的assign有點類似c的pointer,改變b的值同時也會改變a的值,
要作到真正的copy有兩種方法:
1.
>>> b = a[:]這個作法雖然簡單,但是在nested的結構中會有問題
2.
>>> import copy >>> b = copy.copy(a)copy module中又有copy與deepcopy,兩者的差別要再研究研究
reference:
http://docs.python.org/library/copy.html
No comments:
Post a Comment