首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用嵌套列表值包装嵌套字典

使用嵌套列表值包装嵌套字典
EN

Stack Overflow用户
提问于 2018-12-24 05:41:40
回答 1查看 254关注 0票数 0

我有一个python嵌套字典,我正在尝试将字典的每一层包装在一个列表中。原因是这个字典将被转换为Java Script对象,而我正在尝试保持字典的顺序。我已经举了一个例子来说明我试图做的事情。我们非常感谢您在这方面的任何帮助。

输入:

代码语言:javascript
复制
myDict = {
   'outerkey1': {'innerkey1': 1,
                 'innerkey2': 2,
                 'innerkey3': 3,
                 'innerkey4': 4,
                 'innerkey5': 5,
                 'innerkey6': 6,
                 'innerkey7': 7,
                 'innerkey8': 8,
                 'innerkey9': 9,
                 'innerkey10': 10,
                 'innerkey11': 11},
   'outerkey2': {'innerkey1': 100,
                 'innerkey2': 200,
                 'innerkey3': 300,
                 'innerkey4': 400,
                 'innerkey5': 500,
                 'innerkey6': 600,
                 'innerkey7': 700,
                 'innerkey8': 800,
                 'innerkey9': 900,
                 'innerkey10': 1000,
                 'innerkey11': 1100}
}

尝试:

代码语言:javascript
复制
# my thought to change nested dict to nested list
dictToList = [[k, v] for k, v in myDict.items()]

# return result is only changing the outer part 
# of the dict to list but not the inner part
#
[['outerkey1', {'innerkey11': 11, 'innerkey8': 8, 'innerkey4': 4, 'innerkey1': 1, 'innerkey6': 6, 'innerkey7': 7, 'innerkey2': 2, 'innerkey9': 9, 'innerkey5': 5, 'innerkey3': 3, 'innerkey10': 10}], ['outerkey2', {'innerkey11': 1100, 'innerkey8': 800, 'innerkey4': 400, 'innerkey1': 100, 'innerkey6': 600, 'innerkey7': 700, 'innerkey2': 200, 'innerkey9': 900, 'innerkey5': 500, 'innerkey3': 300, 'innerkey10': 1000}]]

我正在尝试实现的示例模式。

代码语言:javascript
复制
myDict = [
    [{'outerkey2': [
                    {'innerkey1': 100,
                     'innerkey10': 1000,
                     'innerkey11': 1100,
                     'innerkey2': 200,
                     'innerkey3': 300,
                     'innerkey4': 400,
                     'innerkey5': 500,
                     'innerkey6': 600,
                     'innerkey7': 700,
                     'innerkey8': 800,
                     'innerkey9': 900}
                ]
    }],
    [{'outerkey1': [
                    {'innerkey1': 1,
                     'innerkey10': 10,
                     'innerkey11': 11,
                     'innerkey2': 2,
                     'innerkey3': 3,
                     'innerkey4': 4,
                     'innerkey5': 5,
                     'innerkey6': 6,
                     'innerkey7': 7,
                     'innerkey8': 8,
                     'innerkey9': 9}
                ]
    }]
]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-24 06:35:35

根据您想要的结果,您可以这样做:

代码语言:javascript
复制
myDict = [[{k : [myDict[k]]}] for k in myDict.keys()]

这将为您提供:

代码语言:javascript
复制
[[{'outerkey2': [{'innerkey11': 1100, 'innerkey3': 300, 'innerkey2': 200, 'innerkey6': 600, 'innerkey10': 1000, 'innerkey8': 800, 'innerkey4': 400, 'innerkey5': 500, 'innerkey1': 100, 'innerkey9': 900, 'innerkey7': 700}]}], [{'outerkey1': [{'innerkey11': 11, 'innerkey3': 3, 'innerkey2': 2, 'innerkey6': 6, 'innerkey10': 10, 'innerkey8': 8, 'innerkey4': 4, 'innerkey5': 5, 'innerkey1': 1, 'innerkey9': 9, 'innerkey7': 7}]}]]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53907362

复制
相关文章

相似问题

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