给出一本带有字典的字典,我想一一打印所有内容。例如,字典是:
data = {'school': 'abc college',
'class': {'A': 30, 'B': 25, 'C': 10},
'student': {'A': {'Peter': 'boy'},
'B': {'Mary': 'girl'},
'C': {'Charles': 'boy'}}}
我想将其打印为:
school: abc college
class:
A: 30
B: 25
C: 10
student:
A:
Peter: boy
B:
Mary: girl
C:
Charles: boy
这意味着如果字典中有字典,我想先打印最深层的字典,然后再继续下一个元素,类似于深度优先搜索的顺序。
但是,字典的级别事先未知,因此似乎for循环不是一个好方法。我也尝试过iter
,但是字典不是可迭代的。我不知道如何实现这一目标。谢谢!
您应该通过创建递归函数来解决此问题。
此问题是使用递归的好机会:每当遇到字典值时,我们都会在此字典上再次调用该函数。
如果您只想漂亮地打印,则可以尝试pprint