按上一个日期

时间:2015-04-25 05:26:29

标签: python

我的命令是

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))])

2 个答案:

答案 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?