gpt4 book ai didi

Python循环整个字典

转载 作者:太空宇宙 更新时间:2023-11-04 08:14:22 25 4
gpt4 key购买 nike

经过大量搜索,我似乎无法找到如何执行此操作。

字典:

mdr = {'main': {'sm': {'testm': {'test1': 'test', 'test2': 'test'}}, 'lm': {}, 'l': {}}}

我希望它看起来像这样:

-Main
--SM
---Testm
----Test1:Test
----Test2:Test
--LM
--L

不会知道它将处理的子目录的确切数量,因此我需要制作一个循环来遍历整个目录。如果我知道字典有多远,我只知道如何显示整个目录。如果可能的话,我希望它显示所有可能的键。

最佳答案

我认为递归比循环更好。这非常接近。

def print_dict(d, current_depth=1):
for k, v in d.items():
if isinstance(v, dict):
print '-' * current_depth + str(k)
print_dict(v, current_depth + 1)
else:
print '-' * current_depth + str(k) + ':' + str(v)

输出(修复字典语法后):

>>> print_dict(mdr)
-main
--lm
--l
--sm
---testm
----test1:test
----test2:test

案例与您想要的输出不符,但您应该能够处理它。如果您想保留原始顺序,则需要使用 OrderedDict 而不是 dictdict 是一个哈希表,所以它可以对顺序做任何事情。 (幸运的是,isinstance(v, dict) 测试仍然适用于 OrderedDict。)

关于Python循环整个字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17036496/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com