循环创建嵌套dicts

时间:2016-12-29 14:49:50

标签: python dictionary nested-loops

我正在从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

1 个答案:

答案 0 :(得分:-2)

collections.defaultdict很好。如果dict没有您指定的键的值,它会为您创建一个新值。

from collections import defaultdict
data = defaultdict(lambda: defaultdict(lambda: defaultdict(dict)))
data['day']['hour']['user']['worked_time'] = 2