python中append怎么用(python必背入门代码)

在 Python 中,对象赋值实际上是对象的引用。当创建一个对象,然后把它赋给另一个变量的时候,Python 并没有拷贝这个对象,而只是拷贝了这个对象的引用,我们称之为浅拷贝。

在 Python 中,为了使当进行赋值操作时,两个变量互补影响,可以使用 copy 模块中的 deepcopy 方法,称之为深拷贝。

append() 函数

当 list 类型的对象进行 append 操作时,实际上追加的是该对象的引用。

id() 函数:返回对象的唯一标识,可以类比成该对象在内存中的地址。

>>>alist = []

>>> num = [2]

>>> alist.append( num )

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

True

如上例所示,当 num 发生变化时(前提是 id(num) 不发生变化),alist 的内容随之会发生变化。往往会带来意想不到的后果,想避免这种情况,可以采用深拷贝解决:

alist.append( copy.deepcopy( num ) )

(0)
打赏 微信扫一扫 微信扫一扫

相关推荐

本文内容由互联网用户自发贡献,该文观点仅代表作者本人,不代表万网时代立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 qulianxi@foxmail.com 举报,一经查实,本站将立刻删除。