【发布时间】:2013-03-21 19:34:00
【问题描述】:
我刚开始学习 Python 编码。 请允许我问一个困扰我很久的愚蠢问题。
g={1:'a',2:'b',3:["k",'c'],4:'d'}
gt=g
gt[3].remove('c')
如何保持 g 不变?
【问题讨论】:
标签: python immutability
我刚开始学习 Python 编码。 请允许我问一个困扰我很久的愚蠢问题。
g={1:'a',2:'b',3:["k",'c'],4:'d'}
gt=g
gt[3].remove('c')
如何保持 g 不变?
【问题讨论】:
标签: python immutability
为此使用copy。而且由于您复制包含列表的字典并且想要编辑该列表,因此您应该使用 deepcopy:
from copy import deepcopy
g={1:'a',2:'b',3:["k",'c'],4:'d'}
gt=copy.deepcopy(g)
gt[3].remove('c')
【讨论】: