首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在python中将多个列表合并到一个字典中?

如何在python中将多个列表合并到一个字典中?
EN

Stack Overflow用户
提问于 2021-04-24 02:12:54
回答 1查看 76关注 0票数 0

示例=我有一个这样的字典

代码语言:javascript
复制
{10: [10, 12, 13], 11: [11], 12: [14,15],15:[16]}

我想要这种类型的输出

代码语言:javascript
复制
{10: [12:[14,15:[16]], 13],11:[]}
EN

回答 1

Stack Overflow用户

发布于 2021-04-24 03:41:10

下面的代码适用于您的示例输入。我不确定它是否适用于其他输入。此外,也许它不是实现得最好的程序。但我希望这能有所帮助。

代码语言:javascript
复制
input = {10: [10, 12, 13], 11: [11], 12: [14, 15], 15: [16]}
# {10: [12:[14,15:[16]], 13],11:[]}
key_not_checked = {n: True for n in input}
output = {}


def check_elemnt_inlist(element):
    value = input.get(element, None)
    if not value:
        return element
    elif len(value) == 1:
        key_not_checked[element] = False
        return {element: value}
    else:
        nested = {}
        val = []
        for i in value:
            if int(i) != int(element):
                val.append(check_elemnt_inlist(i))
        nested[element] = val
        key_not_checked[element] = False
        return nested


for key in input:
    top_value = input[key]
    c = []
    if key_not_checked[key]:
        for g in top_value:
            if int(g) != int(key):
                c.append(check_elemnt_inlist(g))
        output[key] = c
    key_not_checked[key] = False

print(output)

输出将如下所示:

{10: [{12: [14, {15: [16]}]}, 13], 11: []}

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67234985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档