这并不是您所提问题的确切答案,但我认为使用
ChainMap它是一种惯用而优雅的方式来完成您的建议(在线合并字典):
>>> from collections import ChainMap>>> d1 = {1: 'one', 2: 'two'}>>> d2 = {3: 'three'}>>> ds = [d1, d2]>>> dict(ChainMap(*ds)){1: 'one', 2: 'two', 3: 'three'}
尽管这不是一个特别透明的解决方案,但是由于许多程序员可能并不确切知道其
ChainMap工作原理。请注意(如@AnttiHaapala所指出的),“使用了首次发现”,因此,根据您的意图,您可能需要先致电给,
reversed然后再将
dict传入
ChainMap。
>>> d2 = {3: 'three', 2:'LOL'}>>> dict(ChainMap(*ds)){1: 'one', 2: 'two', 3: 'three'}>>> dict(ChainMap(*reversed(ds))){1: 'one', 2: 'LOL', 3: 'three'}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)