我有python列表的问题.简化版是:
mylist1 = [...some items in a list...]
mylist2 = mylist1
mylist1.pop(i)
mylist.insert(i,item)
print(mylist1)
print(mylist2)
Run Code Online (Sandbox Code Playgroud)
问题是我希望mylist2保持mylist1的原始版本.这个问题有解决方法吗?
您需要复制它,而不是分配mylist2给mylist1它.这可以通过使用list构造函数来完成:
mylist2 = list(mylist)
Run Code Online (Sandbox Code Playgroud)
或通过copy.copy()(或copy.deepcopy()):
import copy
mylist2 = copy.copy(mylist)
Run Code Online (Sandbox Code Playgroud)
该copy模块可用于复制其他对象(例如:dicts)并进行深层复制.
请参阅此Wiki页面,了解浅层和深层副本之间的区别.
最后是切片语法:
mylist2 = mylist[:]
Run Code Online (Sandbox Code Playgroud)
但出于这里列出的原因,我个人避免使用这种相当神秘的语法.
| 归档时间: |
|
| 查看次数: |
868 次 |
| 最近记录: |