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迭代多值嵌套字典[关闭]的主要内容,如果未能解决你的问题,请参考以下文章