如何定义和填充一个字典的字典列表

3

我需要填充一个字典,其类型为:

partial[sequence][exp_id] = [item_1, ..., item_n]

这可以通过以下方式完成:
partial = defaultdict(dict)

for sequence in sequences:
   for exp_id in exp_ids:
       for item in data:
           partial[sequence].setdefault(eid, []).append(item)

有更有效的方法吗? 例如:
partial = defaultdict(defaultdict(list))

for sequence in sequences:
   for exp_id in exp_ids:
       for item in data:
          partial[sequence][exp_id].append(item)

这个方法本来很完美,但不幸的是它不能正常工作,因为defaultdict要求第一个参数必须是可调用的对象。


我想了解你在做什么,但是在定义后面你没有使用partial。我想要做完全相同的事情。 - Profpatsch
1
@Profpatsch 您是正确的。我更正了错误的名称。抱歉。 - joaquin
啊,这样就更有意义了。谢谢! - Profpatsch
2个回答

6
partial = defaultdict(lambda: defaultdict(list))

6

尝试:

partial = defaultdict(lambda: defaultdict(list))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接