python必背入門代碼(python中append怎么用)

推薦2年前發(fā)布 AI工具箱
56 00

在 Python 中,對象賦值實際上是對象的引用。當創(chuàng)建一個對象,然后把它賦給另一個變量的時候,Python 并沒有拷貝這個對象,而只是拷貝了這個對象的引用,我們稱之為淺拷貝。

在 Python 中,為了使當進行賦值操作時,兩個變量互補影響,可以使用 copy 模塊中的 deepcopy 方法,稱之為深拷貝。

append() 函數(shù)

當 list 類型的對象進行 append 操作時,實際上追加的是該對象的引用。

id()?函數(shù):返回對象的唯一標識,可以類比成該對象在內存中的地址。

>>>alist = []

>>> num = [2]

>>> alist.append( num )

>>> id( num ) == id( alist[0] )

True

如上例所示,當 num 發(fā)生變化時(前提是 id(num) 不發(fā)生變化),alist 的內容隨之會發(fā)生變化。往往會帶來意想不到的后果,想避免這種情況,可以采用深拷貝解決:

alist.append( copy.deepcopy( num ) )
python必背入門代碼(python中append怎么用)
? 版權聲明

相關文章

暫無評論

none
暫無評論...