如何定义和填写列表的词典

joa*_*uin 3 python dictionary defaultdict

我必须填写类型的字典:

partial[sequence][exp_id] = [item_1, ..., item_n]
Run Code Online (Sandbox Code Playgroud)

这可以通过这种方式完成:

partial = defaultdict(dict)

for sequence in sequences:
   for exp_id in exp_ids:
       for item in data:
           partial[sequence].setdefault(eid, []).append(item)
Run Code Online (Sandbox Code Playgroud)

有更有效的方法吗?就像是:

partial = defaultdict(defaultdict(list))

for sequence in sequences:
   for exp_id in exp_ids:
       for item in data:
          partial[sequence][exp_id].append(item)
Run Code Online (Sandbox Code Playgroud)

将是完美的但不幸的是不起作用,因为defaultdict想要一个可调用的第一个参数

Gar*_*ees 6

partial = defaultdict(lambda: defaultdict(list))
Run Code Online (Sandbox Code Playgroud)


Dan*_* D. 6

尝试:

partial = defaultdict(lambda: defaultdict(list))
Run Code Online (Sandbox Code Playgroud)