连接 python 字典中的值
Concatenate values in python dictionnary
我想更新 python 字典而不覆盖。
它会是这样的:
d1 = {id1 : val1, id2 : val2}
d2 = {id1 : val3, id3 : val4}
d1 + d2 = {id1 : [val1, val3], id2 : [val2], id3 : [val4]}
你有什么想法吗?
听起来您需要一个函数来为每个键创建新列表,然后在必要时附加到它们。
d1 = {'id1' : 'val1', 'id2' : 'val2'}
d2 = {'id1' : 'val3', 'id3' : 'val4'}
def concatDicts(d1,d2):
dsum = {}
for key in d1:
if key not in dsum:
dsum[key] = [d1[key]]
for key in d2:
if key not in dsum:
dsum[key] = []
dsum[key].append(d2[key])
return dsum
d3 = concatDicts(d1,d2)
print(d3)
# d3 = {id1 : [val1, val3], id2 : [val2], id3 : [val4]}
我想更新 python 字典而不覆盖。
它会是这样的:
d1 = {id1 : val1, id2 : val2}
d2 = {id1 : val3, id3 : val4}
d1 + d2 = {id1 : [val1, val3], id2 : [val2], id3 : [val4]}
你有什么想法吗?
听起来您需要一个函数来为每个键创建新列表,然后在必要时附加到它们。
d1 = {'id1' : 'val1', 'id2' : 'val2'}
d2 = {'id1' : 'val3', 'id3' : 'val4'}
def concatDicts(d1,d2):
dsum = {}
for key in d1:
if key not in dsum:
dsum[key] = [d1[key]]
for key in d2:
if key not in dsum:
dsum[key] = []
dsum[key].append(d2[key])
return dsum
d3 = concatDicts(d1,d2)
print(d3)
# d3 = {id1 : [val1, val3], id2 : [val2], id3 : [val4]}