我有两个字典:
d1 ={'2017-01': 1, '2017-03': 310, '2017-04': 234, '2017-05': 91, '2017-06': 54, '2017-07': 69, '2017-08': 51, '2017-09': 80, '2017-10': 41, '2017-11': 80, '2017-12': 138, '2018-01': 414, '2018-02': 529, '2018-03': 195, '2018-04': 280, '2018-05': 544, '2018-06': 283, '2018-07': 375, '2018-08': 845, '2018-09': 1853, '2018-10': 295, '2018-11': 275, '2018-12': 199, '2019-01': 510, '2019-02': 1148, '2019-03': 172, '2019-04': 117, '2019-05': 134}
d2= {'2017-05': 1, '2017-08': 4, '2017-10': 1, '2017-11': 1, '2017-12': 3, '2018-01': 3, '2018-02': 4, '2018-03': 2, '2018-04': 6, '2018-05': 4, '2018-06': 7, '2018-07': 3, '2018-08': 16, '2018-09': 13, '2018-10': 6, '2018-11': 4, '2018-12': 1, '2019-01': 3, '2019-02': 5, '2019-03': 3, '2019-05': 2}
如果d2键与d1键相同,我要打印结果,将d2值添加到d1 2017-05 1 91 如果d2键不在d1中,则输出,只需将d1加0,并保持d1值即可。 2017-01 0 1
如何在python中做到这一点?
谢谢
答案 0 :(得分:2)
您可以使用字典理解:
{key: d1[key] + d2.get(key, 0) for key in d1}
# {'2017-01': 1, '2017-03': 310, '2017-04': 234, '2017-05': 92, ...
请注意,如果找不到给定的get
,则使用字典key
方法可以设置默认值。在这种情况下,我们可以将其设置为0
,以便在d1
中不包含key
时,d2
中的值保持不变。