嗨,如果我想对公共(public)值做一些事情而不是仅仅更新它们呢?例如假设值是一个字符串,我想在它们之间放置一个简单的制表符
a={'car':'ferrari','color':'red','driver':'M'}
b={'car':'lamborghini','color':'yellow','transmission':'manual'}
这样的结果是,
merge_ab={'car':'ferrari\tlamborghini','color':'red\tyellow','driver':'M\t','transmission':'\tmanual'}
请您参考如下方法:
这是一个很好的 Pythonic 方法:
dicts = [a, b]
allKeys = set(k for d in dicts for k in d.iterkeys())
makeValue = lambda k: '\t'.join(d.get(k, '') for d in dicts) # Make merged value for a given key
merged = dict((k,makeValue(k)) for k in allKeys)
