python – 添加到列表与更改列表元素
发布时间:2020-12-20 12:14:41 所属栏目:Python 来源:网络整理
导读:看看下面的代码 testList = ["This","Is","A","Test"]dummyList = testListdummyList = dummyList + ["Hello"] 我期待更改testList的内容,因为dummyList引用testList,我们只是添加了一个新元素,但这没有发生.现在看下面的代码. testList = ["This","Test"]du
看看下面的代码
testList = ["This","Is","A","Test"] dummyList = testList dummyList = dummyList + ["Hello"] 我期待更改testList的内容,因为dummyList引用testList,我们只是添加了一个新元素,但这没有发生.现在看下面的代码. testList = ["This","Test"] dummyList = testList dummyList[0] = 'Hello' 在此代码中,testList中发生了更改.为什么对dummyList的更改会改变第二块代码中testList的内容而不是第一块? 解决方法
通过使用=运算符,您使testList指向与dummyList相同的内存地址,因此它们本质上是相同的对象.这可以通过以下方式验证:
testList = ["This","Test"] dummyList = testList >>> testList is dummyList True 但是当你重新分配它时,它会创建一个新的列表,现在不指向同一个对象: dummyList = dummyList + ['hello'] >>> testList is dummyList False 但是,通过使用dummyList [0] =’Hello’进行更改,它只是对dummyList进行了更改,而dummyList仍指向与testList相同的内容.不同之处在于没有新的任务. 您可以创建一个副本以完全避免这种情况: testList = ["This","Test"] dummyList = testList.copy() >>> testList is dummyList False (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |