第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么盡管我使用 dict(DEFAULT_DICT) 來初始化其他字典

為什么盡管我使用 dict(DEFAULT_DICT) 來初始化其他字典

SMILET 2022-06-28 15:49:29
我想要一個永遠(yuǎn)不會改變的python字典。在下面的代碼中,我希望 DEFAULT_DICT 不會被更改:DEFAULT_DICT = {    'history':{        'id':[]    }}my_dict = dict(DEFAULT_DICT)print("my_dict is {}".format(my_dict))print("DEFAULT_DICT is {}".format(DEFAULT_DICT))my_dict['history']['id'].append("toto")print("my_dict is {}".format(my_dict))print("DEFAULT_DICT is {}".format(DEFAULT_DICT))有人可以告訴我為什么 DEFAULT_DICT 會根據(jù) my_dict 發(fā)生變化嗎?我在想那個用途my_dict = dict(DEFAULT_DICT)會糾正問題,但不會。
查看完整描述

1 回答

?
largeQ

TA貢獻(xiàn)2039條經(jīng)驗 獲得超8個贊

當(dāng)您編寫my_dict = dict(DEFAULT_DICT)DEFAULT_DICT 的淺拷貝時,會產(chǎn)生問題,但您需要該對象的深層拷貝。


要解決您的問題,您可以使用模塊中的deepcopy功能copy:


from copy import deepcopy


DEFAULT_DICT = {

    'history': {

        'id': []

    }

}


my_dict = deepcopy(DEFAULT_DICT)

print("my_dict is {}".format(my_dict))

print("DEFAULT_DICT is {}".format(DEFAULT_DICT))


my_dict['history']['id'].append("toto")

print("my_dict is {}".format(my_dict))

print("DEFAULT_DICT is {}".format(DEFAULT_DICT))


有關(guān)淺拷貝和深拷貝的更多信息,請點擊此鏈接。


查看完整回答
反對 回復(fù) 2022-06-28
  • 1 回答
  • 0 關(guān)注
  • 125 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號