我正在从CSV导入数据并将其放在嵌套的dicts中。 我目前的密钥检查如下:
int
对于每个data = {}
[...]
if day not in data:
data[day] = {}
if hour not in data[day]:
data[day][hour] = {}
if user in data[day][hour]:
worked_time += (
data[day][hour][user]['worked_time']
)
data[day][hour][user] = {
'name': users[user]['name'],
'worked_time': worked_time
}
,他们可以是多个用户
想知道是否有更好的方法来检查每个data[day][hour]
是否存在而不是使用多个key
。
答案 0 :(得分:-2)
collections.defaultdict
很好。如果dict没有您指定的键的值,它会为您创建一个新值。
from collections import defaultdict
data = defaultdict(lambda: defaultdict(lambda: defaultdict(dict)))
data['day']['hour']['user']['worked_time'] = 2