不需要引用任何模块,单纯几个循环几个判断,就可以把字典玩转到一个很深的逻辑链。但其实花点时间,很快就能理解,下面附上源码:
db = {}
path = [] #记录路径到哪一级了
while True:
temp = db #临时变量,呈现当前级的字典
for item in path:
temp = temp[item]
#输出提示语,和将该字典当前节点的所有key以列表的形式呈现
print("当前节点的所有子节点有:",list(temp.keys()),'\n')
choice = input("1:添加节点; 2:查看节点(Q退出/B返回上一级)\n>>>")
if choice == '1':
k = input("请输入要添加的子节点名称:")
if k in temp: #如果k在当前级的key中存在
print("子节点已经存在!")
else:
temp[k] = {} #创建一个新的字典(添加一个子节点)
elif choice == "2":
k = input("请输入要查看的子节点名称:")
if k in temp:
path.append(k) #在列表中追加一个元素,即将temp引向下一级
else:
print("该节点不存在!")
elif choice.lower() == 'b':
if path: #如果path为空列表,就不执行了
path.pop() #从后往前移除
elif choice.lower() == 'q':
break
else:
print("你的输入不合法!")
通过这样的一份案例练习,能让我们对五大数据结构:数字、字符串、列表、元组、字典以及它们各自的用法有更加深刻的理解,非常适合初学者练习