Python迭代多值嵌套字典[关闭]

Posted

技术标签:

【中文标题】Python迭代多值嵌套字典[关闭]【英文标题】:Python iterate over multi value nested dictionary [closed] 【发布时间】:2017-11-22 15:04:22 【问题描述】:

我有以下数据结构调用 letters_dict:

'aa': 'Price': '147,130,104,24,19',
       'Qty': '262,53,65,80,185,210',
       'Time': '51302324915,51308461317,51316258845,51324326568',

'bb': 'Price': '196,203,209,177,150,160,160,180,194',
       'Qty': '129,268,225,228,176,76,17,45,207,61,143,195,230,97',
       'Time': '51305086913,51314981179,51323072726,51435766657,51597990966'

我想遍历外部字典的每个项目,然后是内部值、价格数量和时间,然后是价格数量和时间中的每个值,然后进行数据处理。最好的方法是什么?

【问题讨论】:

请展示你到目前为止所做的尝试 顺便说一句,您的内部字典中的值是逗号分隔值的字符串 【参考方案1】:
for key_1 in letters_dict:
    for key_2 in letters_dict[key_1]:
        for value in letters_dict[key_1][key_2].split(','):

这对我来说是最简单的方法(并不意味着最好)。 我不知道你为什么没有尝试...

【讨论】:

AttributeError: 'dict' 对象没有属性 'split' 是的,编辑了答案。【参考方案2】:

首先使用 key_level1 和 val_level1 迭代外部值,然后使用 key_level2 和 val_level2 迭代内部值:

for key_level1, val_level1 in r.items():
        for key_level2, val_level2 in val_level1.items():
            for val in val_level2.split(','):
                # Example:
                # do something
                print(key_level1, key_level2, val)

【讨论】:

这仍然会打印整个字典,而不仅仅是价格 这仍然不会遍历价目表中的每个逗号分隔值 @Jaron787,终于明白你的要求了。我想这就是你要的......(编辑答案) 这很好,谢谢!

以上是关于Python迭代多值嵌套字典[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何在Python中更改嵌套字典中键的值[关闭]

python如何创建字典? [关闭]

将字典快速排序到 OrderedDict [关闭]

使用嵌套循环迭代 m^n 组合[关闭]

如何将嵌套列表映射到 Python 中的可迭代字典

学不会的python之通过某几个关键字排序分组一个字典列表(列表中嵌套字典)