当我们在面对一个字典的时候,基本功能有查找,填加,和返回上一级,我们利用上一篇的字典,写了一个可以实现字典基本功能的小程序:
#!/usr/bin/env python # -*- coding:utf-8 -*- dp = {'亚洲':{'中国':{'山东':{},'北京':{},'上海':{},'深圳':{},'重庆':{}},'日本':{'神户':{},'东京':{},'大阪':{}},'韩国':{'首尔':{},'济州岛':{}}},'欧洲':{'英国':{'曼彻斯特':{},'阿森纳':{},'伦敦':{},'利物浦':{}},'法国':{'巴黎':{},'里昂':{},'凯尔特人':{}}}} path = []#构造一个空的列表 while True:temp = dpfor item in path:temp = temp[item]#字典可以进入下一层次print('当前所有可选的节点:',list(temp.keys()))num = input('1:查看种类,2:填加种类(B退出\Q返回上一级)>>>')if num == '1':name = input('请输入你要查看的种类:')path.append(name)#将输入的内容加到path列表里,这样在循环的时候就可以进入下一层elif num == '2':name1 = input('请输入你要填加的种类:')temp[name1] = {}elif num.lower() == 'q':if path:path.pop()#删除列表最后一个元素,可以返回上一层elif num.lower() == 'b':break
这个写法里面最巧妙的就是path = [],可以利用path.append()巧妙地让字典进入下一层,或者返回上一层。
---恢复内容结束---