我不知道如何更新嵌套字典中的值,该值总是被覆盖。在
我有一个清单date_list = ['2018AUG15', '2017APR22', '2017MAR05', '2016FEB10', '2016FEB09']
我正在构建一个嵌套dict,到目前为止
import collections
date_list = ['2018AUG15', '2017APR22', '2017MAR05', '2016FEB10', '2016FEB09']
month_ditc = collections.defaultdict(dict)
for x in date_list:
year = x[:4]
month = x[4:-2]
day = x[7:]
month_ditc[year][month]= day
print month_ditc
它产生了
^{pr2}$这和我想要的差不多。年和月在我循环中更新,但日期不是。在
我试过以下几种方法,但还是一无所获-
try:
month_ditc[year][month] = day
except KeyError:
month_ditc[year] = {month:day}
我希望结果是
defaultdict(<type 'dict'>, {'2017': {'APR': '22', 'MAR': '05'}, '2016': {'FEB': '09','10'}, '2018': {'AUG': '15'}})
您期望的输出不是有效的字典,我想您需要一个列表,如果键不在dict中,您可以尝试使用
setdefault()
方法来设置默认值setdefault(key[, default])
结果:
^{pr2}$相关问题 更多 >
编程相关推荐