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}

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}

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}
添加回答
舉報