码迷,mamicode.com
首页 > 编程语言 > 详细

【python开发】构造一个可以查看,填加和返回的字典

时间:2018-10-23 23:09:20      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:节点   bin   pre   append   bre   inpu   一个   lower   构造   

当我们在面对一个字典的时候,基本功能有查找,填加,和返回上一级,我们利用上一篇的字典,写了一个可以实现字典基本功能的小程序:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
dp = {
    ‘亚洲‘:
        {‘中国‘:
         {‘山东‘:{},‘北京‘:{},‘上海‘:{},‘深圳‘:{},‘重庆‘:{}},
         ‘日本‘:
             {‘神户‘:{},‘东京‘:{},‘大阪‘:{}},
         ‘韩国‘:
             {‘首尔‘:{},‘济州岛‘:{}}
         },
    ‘欧洲‘:
        {‘英国‘:
             {‘曼彻斯特‘:{},‘阿森纳‘:{},‘伦敦‘:{},‘利物浦‘:{}},
         ‘法国‘:
             {‘巴黎‘:{},‘里昂‘:{},‘凯尔特人‘:{}}
         }
    }
path = []#构造一个空的列表
while True:
    temp = dp
    for 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()巧妙地让字典进入下一层,或者返回上一层。

---恢复内容结束---

【python开发】构造一个可以查看,填加和返回的字典

标签:节点   bin   pre   append   bre   inpu   一个   lower   构造   

原文地址:https://www.cnblogs.com/yuxing1994/p/9839270.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!