来自数据框的复杂嵌套字典

时间:2019-02-03 16:03:25

标签: python-3.x dictionary

我有一个名为rest的列表,该列表在格式中包含许多字典

rest = [{'a':'b','c':'d','e':'f'}, {'a':'g','c':'h','e':'i}, {'a':'j','c':'k','e':'l'}]

我可以得到一个输出如下面在那里我有新作为字典内的键以外的所有第一密钥值对的键 - 值对

output = [{'a':'b','new':{'c':'d','e':'f'}},{'a':'g','new':{'c':'h','e':'i'}},{'a':'j','new':{'c':'k','e':'l'}}]

有可能吗?

1 个答案:

答案 0 :(得分:1)

您可以使用语法first, *remainder提取相关部分,然后根据它们创建新的字典:

def convert(d):
    first, *remainder = d.items()
    return dict([first, ('new', dict(remainder))])

然后转换每个字典:

output = [convert(d) for d in rest]

请注意,此语法是在Python 3.0中引入的,并且字典在Python 3.6之前是无序的(即,未确定第一项)。