class DictTraversal:
def __init__(self, dictionary):
self.dictionary = dictionary
def traverse(self, dictionary=None):
if dictionary is None:
dictionary = self.dictionary
for key, value in dictionary.items():
if isinstance(value, dict):
self.traverse(value) # 递归调用遍历子字典
else:
print(key, value) # 处理字典的键值对
# 示例用法
my_dict = {
'key1': 'value1',
'key2': {
'key3': 'value3',
'key4': {
'key5': 'value5'
}
}
}
dt = DictTraversal(my_dict)
dt.traverse()
# 输出结果
key1 value1
key3 value3
key5 value5
这个类的traverse
方法会遍历多层级的字典,并输出每个键值对。递归函数的关键是判断每个值是否是字典,如果是字典则递归调用遍历子字典,否则直接处理键值对。使用这个类,可以灵活地遍历多层级字典的所有元素。