亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

python3 連接 python 字典的函數不起作用

python3 連接 python 字典的函數不起作用

慕哥9229398 2021-06-06 09:41:05
我不斷得到一本空字典#!/usr/local/bin/python3dic1={1:10, 2:20}dic2={3:30, 4:40}dic3={5:50,6:60}dictNew = {}def concatDict(dictCon):    dictNew = dict.update(dictCon)    return dictNewconcatDict(dic1)concatDict(dic2)concatDict(dic3)print(dictNew)dictNew 沒有從函數調用中得到更新。有人可以指出我正確的方向嗎?
查看完整描述

3 回答

?
慕森王

TA貢獻1777條經驗 獲得超3個贊

要加入字典,您只需使用以下代碼:


dict1 = {1: 10, 2: 20}

dict2 = {3: 30, 4: 40}

dict3 = {5: 50, 6: 60}

dict_new = {**dic1, **dic2, **dic3}

print(dict_new)

結果:


{1: 10, 2: 20, 3: 30, 4: 40, 5: 50, 6: 60}


查看完整回答
反對 回復 2021-06-09
?
HUH函數

TA貢獻1836條經驗 獲得超4個贊

您可以讓您的concatDicts函數接受可變數量的字典作為輸入并返回一個新的合并字典


>>> dic1 = {1:10, 2:20}

>>> dic2 = {3:30, 4:40}

>>> dic3 = {5:50, 6:60}

>>>

>>> def concatDicts(*dicts):

...     return dict((k,v) for dic in dicts for k,v in dic.items())

... 

>>>

>>> new_dic = concatDicts(dic1, dic2, dic3)

>>> print(new_dic)

{1: 10, 2: 20, 3: 30, 4: 40, 5: 50, 6: 60}


查看完整回答
反對 回復 2021-06-09
?
白板的微信

TA貢獻1883條經驗 獲得超3個贊

您想dictNew使用dictCon字典參數進行更新。由于字典是可變的,因此您不需要保存或返回dictNew將被改變的結果:


#!/usr/local/bin/python3


dic1={1:10, 2:20}

dic2={3:30, 4:40}

dic3={5:50,6:60}

dictNew = {}


def concatDict(dictCon):

    dictNew.update(dictCon)


concatDict(dic1)

concatDict(dic2)

concatDict(dic3)


print(dictNew)

這使:


{1: 10, 2: 20, 3: 30, 4: 40, 5: 50, 6: 60}

但是請注意,您的函數實際上只是 masking dictNew.update,因此您最好使用該方法調用而不是此包裝函數:


...

dictNew.update(dic1)

dictNew.update(dic2)

dictNew.update(dic3)

...

另一種方法是使用**-operator 來分解字典:


{**dic1, **dic2, **dic3}


查看完整回答
反對 回復 2021-06-09
  • 3 回答
  • 0 關注
  • 204 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號