【发布时间】:2020-09-25 00:54:51
【问题描述】:
我有一本字典,如下所示。我要做的是找出缺少的月份,并将它们添加为值为 Nan 的新键。
{'Congress': {'April': '5.902',
'August': '5.925',
'January': '5.881',
'February': '5.888',
'July': '5.920',
'June': '5.910',
'March': '5.896',
'May': '5.906',
'November': '5.942',
'October': '5.938',
'September': '5.933'},
'Entity': {'April': '64.320',
'August': '64.642',
'December': '64.825',
'January': '63.965',
'February': '64.089',
'July': '64.604',
'June': '64.509',
'March': '64.221',
'May': '64.404',
'October': '64.757',
'September': '64.690'}}
在国会词典中我们缺少十二月,而在实体词典中我们缺少十一月。
到目前为止,我尝试的是创建一个名为months 的列表并对其进行迭代以查找字典的哪些值不在列表中。但是,这似乎不起作用,因为当我尝试打印它时,它不会打印任何内容,因此肯定不会添加键和值。
list_of_months =['January','February','March','April','May','June','July','August','September','October','November','December']
for k, v in newd.items():
for x in v.keys():
if x not in list_of_months :
print(x)
预期的输出应该是:
{'Congress': {'April': '5.902',
'December': 'Nan' ---------------------> Missing value to be added
'August': '5.925',
'January': '5.881',
'February': '5.888',
'July': '5.920',
'June': '5.910',
'March': '5.896',
'May': '5.906',
'November': '5.942',
'October': '5.938',
'September': '5.933'},
'Entity': {'April': '64.320',
'November': 'Nan' ---------------------> Missing value to be added
'August': '64.642',
'December': '64.825',
'January': '63.965',
'February': '64.089',
'July': '64.604',
'June': '64.509',
'March': '64.221',
'May': '64.404',
'October': '64.757',
'September': '64.690'}}
有人可以向我解释我做错了什么以及检查当前月份并添加缺少的月份的更好方法吗?
谢谢
【问题讨论】:
-
您共享的代码不会创建任何内容 - 如果它们不是月份,它只会打印内部字典的键。请诚实地尝试解决问题并将该尝试的代码分享为minimal reproducible example。请务必包含您的代码的具体错误:“它不起作用”不是报告问题的好方法。更多信息请访问tour、How to Ask 和 minimal reproducible example。
标签: python-3.x dictionary