繁体   English   中英

从字符串生成嵌套字典

Generate a nested dictionary from a string

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我想从一个字符串中获取一个嵌套字典,它可以用分隔符分割, :

s='A:B:C:D'
v=['some','object']
desired={'A':{'B':{'C':{'D':v}}}}

有没有一种“pythonic”的方式来生成这个?

2 个回复

您可以编写一个递归函数来执行此操作:

>>> s = 'A:B:C:D'
>>> v = ['some','object']
>>> def generate_dict(keys, val):
...     if len(keys) == 1:
...             return {keys[0]: val}
...     return {keys[0]:generate_dict(keys[1:], val)}
...
>>> generate_dict(s.split(':'), v)
{'A': {'B': {'C': {'D': ['some', 'object']}}}}

这是迭代解决方案:

result = {}
s = 'A:B:C:D'
delimiter = ":"
value = ['some', 'object']

temp = result
key_list = s.split(delimiter)

for i, key in enumerate(key_list):
    if i != len(key_list) - 1:
        temp[key] = {}
        temp = temp[key]
        continue

    temp[key] = value


print(result)

1 从字典生成字符串

假设我有这样的事情: 输出将是 如果我想使用字符串来实现此效果,则该字符串将表示为 现在,如果我想完成此字符串,可以尝试执行以下操作: 但是,是的,我想我太复杂了……什么是更好和简单的方法? 谢谢! ...

4 如何从字符串创建嵌套字典

我有一个与程序输出相关的字符串,现在我需要将字符串转换为字典。 我已经通过使用dict()和zip()命令尝试过它,但我无法获取结果。 这是我到目前为止的代码: 除此之外,我不知道: ...

5 嵌套python字典的字符串格式

我有一本打印得很好的字典 但我想将“ EndAdvertiserAdAccounts”键设置为如下所示 上面的代码给了我以下错误: 我猜有一种使用格式化功能格式化字典的特殊方法。 任何帮助在这里表示赞赏 ...

6 如何遍历嵌套字典以返回字符串?

我有一个像这样的嵌套字典: 我有一个像这样的函数,应该返回一个字符串,但是我对可选的绑定逻辑感到困惑。 不要介意错误的变量名...谢谢:p ...

2017-07-22 02:28:29 1 187   swift
7 带有嵌套字典的字符串格式

我的设置如下。 我有一本嵌套的字典 和一个字符串 当然,以下方法不起作用: 那么正确的做法是什么? 注意:我知道嵌套字典的字符串格式化问题,但我相信我的问题无法通过遍历字典来解决。 上面当然是我实际问题的非常简化的版本,我既需要尊重dic1的格式, dic1只 ...

8 将嵌套字典转换为字符串

我想将特定的值从嵌套字典转换为字符串。 我正在尝试打印名字值。 我努力了 但是它只打印第一个嵌套字典[0]的firstname 。 我正在寻找输出类似于 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM