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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Python通過(guò)分配復(fù)制?

Python通過(guò)分配復(fù)制?

紅顏莎娜 2019-08-08 15:42:41
Python通過(guò)分配復(fù)制?我希望下面的代碼只會(huì)初始化dict_a,dict_b以及dict_c字典。但它接觸到副本通過(guò)效果:dict_a = dict_b = dict_c = {}dict_c['hello'] = 'goodbye'print dict_aprint dict_bprint dict_c如您所見(jiàn),結(jié)果如下:{'hello': 'goodbye'}{'hello': 'goodbye'}{'hello': 'goodbye'}為什么該程序會(huì)給出以前的結(jié)果,當(dāng)我希望它返回時(shí):{}{}{'hello': 'goodbye'}
查看完整描述

3 回答

?
慕慕森

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超17個(gè)贊

這是因?yàn)樵赑ython中,變量(名稱)只是對(duì)單個(gè)對(duì)象的引用。當(dāng)您指定dict_a = dict_b,你真的復(fù)制存儲(chǔ)器地址(或指針,如果你愿意)從dict_bdict_a。那個(gè)詞典還有一個(gè)例子。

要獲得所需的行為,請(qǐng)使用該dict.copy方法,或者copy.deepcopy在您的dict可能具有嵌套的dicts或其他嵌套對(duì)象時(shí)使用。

>>> a = {1:2}>>> b = a.copy()>>> b{1: 2}>>> b[3] = 4>>> a{1: 2}>>> b{1: 2, 3: 4}>>>


查看完整回答
反對(duì) 回復(fù) 2019-08-08
?
ABOUTYOU

TA貢獻(xiàn)1812條經(jīng)驗(yàn) 獲得超5個(gè)贊

即使

>>> dict_a, dict_b, dict_c = {}, {}, {}

在大多數(shù)情況下是正確的方法,當(dāng)它超過(guò)3時(shí)看起來(lái)很奇怪

想像

>>> a, b, c, d, e, f = {}, {}, {}, {}, {}, {}

如果我想初始化超過(guò)3件事,我會(huì)使用

>>> a, b, c, d, e, f, = [dict() for x in range(6)]

注意:不要使用[{} for x in range(6)]


查看完整回答
反對(duì) 回復(fù) 2019-08-08
?
慕森卡

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

正如danben先前所說(shuō),你只是將同一個(gè)dict復(fù)制到3個(gè)變量中,這樣每個(gè)變量都會(huì)引用同一個(gè)對(duì)象。

要獲得所需的行為,您應(yīng)該在每個(gè)變量中實(shí)例化不同的dict:

>>> dict_a, dict_b, dict_c = {}, {}, {}>>> dict_c['hello'] = 'goodbye'>>> print dict_a{}>>> print dict_b{}>>> print dict_c{'hello': 'goodbye'}>>>


查看完整回答
反對(duì) 回復(fù) 2019-08-08
  • 3 回答
  • 0 關(guān)注
  • 417 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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