python – 添加到列表与更改列表元素

python – 添加到列表与更改列表元素,第1张

概述看看下面的代码 testList = ["This", "Is", "A", "Test"]dummyList = testListdummyList = dummyList + ["Hello"] 我期待更改testList的内容,因为dummyList引用testList,我们只是添加了一个新元素,但这没有发生.现在看下面的代码. testList = ["This", "Is", "A" 看看下面的代码

testList = ["This","Is","A","Test"]dummyList = testListdummyList = dummyList + ["Hello"]

我期待更改testList的内容,因为dummyList引用testList,我们只是添加了一个新元素,但这没有发生.现在看下面的代码.

testList = ["This","Test"]dummyList = testListdummyList[0] = 'Hello'

在此代码中,testList中发生了更改.为什么对dummyList的更改会改变第二块代码中testList的内容而不是第一块?

解决方法 通过使用=运算符,您使testList指向与dummyList相同的内存地址,因此它们本质上是相同的对象.这可以通过以下方式验证:

testList = ["This","Test"]dummyList = testList>>> testList is dummyListTrue

但是当你重新分配它时,它会创建一个新的列表,现在不指向同一个对象:

dummyList = dummyList + ['hello']>>> testList is dummyListFalse

但是,通过使用dummyList [0] =’Hello’进行更改,它只是对dummyList进行了更改,而dummyList仍指向与testList相同的内容.不同之处在于没有新的任务.

您可以创建一个副本以完全避免这种情况:

testList = ["This","Test"]dummyList = testList.copy()>>> testList is dummyListFalse
总结

以上是内存溢出为你收集整理的python – 添加到列表与更改列表元素全部内容,希望文章能够帮你解决python – 添加到列表与更改列表元素所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1194400.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存