美文网首页
11-python字典使用和三级菜单

11-python字典使用和三级菜单

作者: weyan | 来源:发表于2018-01-24 16:17 被阅读0次

    字典

    #字典是无序的,但key是唯一的。
    '''
    info = {
        "stu1101":"Zhan San",
        "stu1102":"Li Si",
        "stu1103":"Wang Wu",
        "stu1104":"Zhao Liu"
    }
    print(info)
    print(info["stu1101"])#1、根据键取出对应的值
    info["stu1101"] = "张三"#2、如果key存在就修改,否则就创建,如下
    info["stu1105"] = "Liu Qi"
    del info["stu1101"]#3、删除某个元素
    info.pop("stu1102")#删除某个元素
    info.popitem()#随机删除某个元素
    print(info)
    
    #第二种方式查找,若字典中不存在要查找的元素就返回none,有的话就返回。
    print(info.get("stu1101"))#安全获取方法
    print("stu1101" in info)#判断字典中是不是存在这个key对应的元素,在python2.x中是这个方法:info.haskey("stu1101")
    '''
    #字典的嵌套
    catalog = {
        "欧美":{
            "www.youporn.com":["很多免费的,世界最大的","质量一般"],
            "www.pornhub.com":["很多免费的,也很大","质量yourporn高点"],
            "letmedothistoyou.com":["多是自拍,高质量图片很多","资源不多,更新慢"],
            "x-art.com":["质量很高,真的很高","全部收费,你请绕过"]
        },
        "日韩":{
            "tokyo-hot":["质量怎样不清楚,个人已经不喜欢日韩范了,听说是收费的"]
        },
        "大陆":["全部免费,真好,好人一生平安","服务器在国外,速度有点慢"]
    }
    #print(catalog.values())#打印所有的values
    #print(catalog.keys())#打印所有的keys
    
    catalog.setdefault("台湾",{"taiwan":[1,2,3,4]})#若key为台湾存在,不进行任何操作,不存在,就添加
    print(catalog)
    
    b = {
        "大陆":"台湾自古以来就是中国领土不可分割的一部分",
        "上蔡县":"我就是上蔡县的人",
        "河南":"河南自古以来就是人口大省"
    }
    
    catalog.update(b)#字典b中的key如果有和catalog中相同的就把原来的value替换掉,没有的话就合并
    print(catalog)
    
    print(catalog.items())#把字典中的键值对转换成列表
    
    #初始化字典
    c = dict.fromkeys([1,2,3],"xieweiyan")
    print(c)#打印:{1: 'xieweiyan', 2: 'xieweiyan', 3: 'xieweiyan'}
    
    #字典循环
    #方法一:
    person = {
        "name":"xieweiyan",
        "age":"27",
        "height":"58"
    }
    
    for i in person:#直接索引,效率比较高
        print(i,person[i])
    #方法二:
    for m,n in person.items():#先把字典转换成列表,然后再遍历,效率没有方法一高
        print(m,n)
    

    三级菜单程序:

    data = {
        "北京":{
            "昌平":{
                "沙河":["oldboy","test"],
                "天通苑":["链家地产","我爱我家"]
            },
            "朝阳":{
                "望京":["奔驰","陌陌"],
                "国贸":["CICC","HP"],
                "东直门":{"Advent","飞信"}
            },
            "海淀":{}
        },
        "山东":{
            "德州":{},
            "青岛":{},
            "济南":{}
        },
        "广东":{
            "东莞":{},
            "常熟":{},
            "佛山":{}
        }
    }
    
    exit_flag = False
    while not exit_flag:
        for i in data:
            print(i)
        choice = input("选择进入>>>:")
        if choice in data:
            while not exit_flag:
                for m in data[choice]:
                    print("\t",m)
                choice2 = input("选择进入2>>>:")
                if choice2 in data[choice]:
                    while not exit_flag:
                        for n in data[choice][choice2]:
                            print("\t\t", n)
                        choice3 = input("选择进入3>>>:")
                        if choice3 in data[choice][choice2]:
                            for p in data[choice][choice2][choice3]:
                                 print("\t\t\t",p)
                            choice4 = input("按b退回上一级菜单")
                            if choice4 == "b":
                                pass#两个作用:1、占位符;2、先放着不写
                            elif choice4 == "q":#输入q退出程序
                                exit_flag = True
                        if choice3 == "b":#输入q退回上级菜单
                            break
                        elif choice3 == "q":#输入q退出程序
                            exit_flag = True
                if choice2 == "b":#输入q退回上级菜单
                    break
                elif choice2 == "q":#输入q退出程序
    

    相关文章

      网友评论

          本文标题:11-python字典使用和三级菜单

          本文链接:https://www.haomeiwen.com/subject/mytuaxtx.html