我初始化一个约有100个键的字典;使用字典理解将某些键初始化为下级;特别是其中一个键有八个下标作为值,其中一个与其他七个下标是异常的。我想提供最佳处理方法的指导。
这是一个关键以及我如何对其进行初始化:
d = {...,
...,
"activity": {
k: {int(v): 0 for v in range(0, 24)}
for k in (
"rts_all",
"rts_thirty_days",
"years",
"seven_days",
"thirty_days",
"ninety_days",
"all",
)
},
...,
}
但是,“活动”键还需要另一个键,其下标为值:
"weekdays" = {
k: 0 for k in ("Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun")
}
此刻,我正在初始化字典的其余部分,然后最终执行以下操作:
d["activity"]["weekdays"] = {
k: 0 for k in ("Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun")
}
这很好用,并且相当清楚,但对我来说似乎还是临时的。
是否有更整洁的机制? 我是否缺少明显的东西? 我在想什么吗?
答案 0 :(得分:0)
一种优化方法是使用dict.fromkeys,它将创建一个所有值为0的字典
dct = dict.fromkeys(["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], 0)
print(dct)
#{'Mon': 0, 'Tue': 0, 'Wed': 0, 'Thu': 0, 'Fri': 0, 'Sat': 0, 'Sun': 0}
d['activity'].update({'weekdays':dct})
另一项更改是使用dict.update
更新词典