考虑2个字典,
d1 = {'current': [[1369713600, 29], [1369756800, 47], [1369800000, 34]],
'curr_total': 110,
'past': [[1368417600, 2], [1368460800, 70], [1368504000, 10]],
'past_total': 82}
d2 = {'current': [(1369713601, 23), (1369756800, 87), (1369800000, 7)],
'curr_total': 117,
'past': [(1368417600, 100), (1368460800, 7), (1368504000, 9)],
'past_total': 116}
- 在第一个字典中,一些值是整数(总数),而另一些是列表列表
- 在第二个字典中,一些值是整数(总数),而另一些是元组列表。
- 在这两个字典中,都有诸如“current”、“cure_total”之类的常用键。
- 对于两个字典中的相同键,列表/元组的第一个值可以相同或不同。
基于此,我需要这样的字典。
f = {'current': [[1369713600, 29], [1369713601, 23], [1369756800, 134], [1369800000, 41]],
'curr_total': 227,
'past': [[1368417600, 102], [1368460800, 77], [1368504000, 19]],
'past_total': 198}
我的尝试是:
for i in fo,pl:
for j in i:
if total.get(j):
total[j] += i[j]
else:
total[j] = i[j]
但是发现,如果第一个值相同,则对应列表和元组的第二个值不会聚合?我的方式很天真吗?有人可以建议我更pythonic和更有效的方法吗?