【发布时间】:2022-10-24 15:55:20
【问题描述】:
有没有一种优雅的方法可以在 python 3 中实现这一点?它应该展平字典,同时将列表索引视为键,从而将它们包括在展平中。
在:
{
"a": 1,
"b": {
"c": 2
},
"d": [3,4],
"e": [
{
"f": 5
},
{
"g": 6
}
]
}
出去:
{
"a": 1,
"b.c": 2,
"d.0": 3,
"d.1": 4,
"e.0.f": 5,
"e.1.g": 6
}
背景:
- 我们正在寻找一种方法来合并包含列表的嵌套字典
- 可用的合并工具似乎总是使用追加策略或替换策略合并列表
- 然而,我们需要合并列表中的字典(如示例中所示)。例如,列表中的第一个字典应该与列表中的第一个字典合并
- 当前的方法是像这样链接:
flatten -> merge -> unflatten。问题只是关于扁平的部分。从那以后,我们已经看到 unflatten 更棘手
【问题讨论】:
-
请展示您的工作并询问使您绊倒的特定部分。这些值得一读:Asking about homework 和 Open letter to students with homework problems
-
编辑了更多背景@picobit
标签: python python-3.x list dictionary flatten