我的命令是
date1 = OrderedDict([('2015-04-18', (5,0)), ('2015-04-05', (33,0)), ('2015-04-15', (3,0)), ('2015-04-08', (53,0))])
date2 = OrderedDict([('2015-03-01', (0,5)), ('2015-03-05', (0,10)), ('2015-03-15', (0,13)), ('2015-03-28', (0,53))])
我想在上个月合并这个,也在排序中 等,
date = OrderedDict([('2015-03-01', (0,5)),('2015-03-28', (0,53)), ('2015-04-05', (33,10)), ('2015-04-08', (53,0), ('2015-04-15', (3,13),('2015-04-18', (5,0))])
答案 0 :(得分:1)
[1] Concatanate items(pairs)list:
items = list(date1.items()) + list(date2.items())
[2]对它们进行排序(正确排序每对中的第一个,即日期字符串):
items = sorted(items)
[3]返回OrderedDict
:
date = OrderedDict(items)
作为一个单行:
date = OrderedDict( sorted( list(date1.items()) + list(date2.items()) ) )
答案 1 :(得分:0)
看起来date2值都按日期预先排序。最终产品必须遵循date1值。我认为.join函数会有所帮助。
这个答案可能会对您有所帮助:How to merge two Python dictionaries in a single expression?