注意如果您使用的是字典(除非 OrderedDict),则不会保留该顺序,因此您的结果的最终顺序将与您在示例中描述的不同
回到你的例子如果
>>> d1={'ch:23': 100, 'ch:24': 95}
>>> d2={'ch:23': 98 ,'ch:25': 100}
你可以试试这个
>>> d3=collections.defaultdict(list)
>>> for k,e in d1.items()+d2.items():
d3[k].append(e)
如果要保留订单,则需要首先将原始字典创建为有序字典
然后你可以这样做
>>> d1
OrderedDict([('ch:23', 100), ('ch:24', 95)])
>>> d2
OrderedDict([('ch:23', 98), ('ch:25', 100)])
>>> d3=collections.OrderedDict()
>>> for k,e in d1.items()+d2.items():
d3.setdefault(k,[]).append(e)
>>> d3
OrderedDict([('ch:23', [100, 98]), ('ch:24', [95]), ('ch:25', [100])])
>>>