用python實作以下函式(30分鐘):
合并dict
def merge_dict(source_dict, update_dict) -> dict
例:a = { 'a': 'a', 'b': 'b' }
b = { 'b': 'c', 'c': { 'd': 'd' }}
result = merge_dict(a, b) // result = { 'a': 'a', 'b': 'c', 'c': { 'd': 'd' } }
注意:
考慮嵌套情況的處理
需檢查各種例外、沖突、特殊值,并拋出合適例外
代碼需要可以正確編譯執行
uj5u.com熱心網友回復:
def merge_dict(source_dict:dict, update_dict:dict):
for key in source_dict.keys():
if key not in update_dict.keys():
update_dict[key]=source_dict[key]
print(update_dict)
if __name__ == '__main__':
a={'a': 'a', 'b': 'b'}
b={ 'b': 'c', 'c': { 'd': 'd' }}
merge_dict(a,b)
這樣吧!另外,還有一些不足,例外、特殊值具體是什么,不知道,原諒小白我演算法不行啊!
uj5u.com熱心網友回復:
遍歷兩個字典,如果新字典中有新值,就用新值替換老字典中的值就行了uj5u.com熱心網友回復:
b = { 'b': 'c','c':{ 'd': 'd' }}a = { 'a': 'a', 'b': 'b' }
for item,value in b.items():
a[item]=value
print(b)
print(a)
uj5u.com熱心網友回復:
a.update(b)
uj5u.com熱心網友回復:
例:a = { 'a': 'a', 'b': 'b' }b = { 'b': 'c', 'c': { 'd': 'd' }}
result = merge_dict(a, b) // result = { 'a': 'a', 'b': 'c', 'c': { 'd': 'd' } }
按照你這個result,可以看出,鍵值對以后來的為準,也就是說,如果有重復直接覆寫。
如果要實作這個,一句就夠了, a.update(b)
uj5u.com熱心網友回復:
沒想到前面有人寫了,這個回帖要審核,一般0-20min,相差幾分鐘其實是看不到前面的
uj5u.com熱心網友回復:
沒關系,十分感謝!轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/11769.html
