如何定义并填充字典的字典的列表
我需要填充一个字典,类型是:
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
需要一个可调用的对象作为第一个参数。
2 个回答
6
尝试一下:
partial = defaultdict(lambda: defaultdict(list))
6
在编程中,有时候我们会遇到一些问题,想要找到解决办法。比如,有人可能在使用某个工具或库时,遇到了错误或者不明白的地方。这时候,大家会去一个叫StackOverflow的网站上提问,那里有很多热心的程序员愿意帮忙。
在这个网站上,用户可以描述他们遇到的问题,提供一些代码示例,甚至附上错误信息。其他人看到后,就会根据自己的经验来给出建议或者解决方案。这个过程就像是一个大型的编程问答社区,大家互相帮助,共同进步。
总之,StackOverflow是一个非常有用的资源,特别是对于刚开始学习编程的人来说,能够在这里找到很多有用的信息和解决方案。
partial = defaultdict(lambda: defaultdict(list))