[ 初识Python] Day3~~

Python Day Three


1.字典

基本形式:key-value

info = {
    'stu1101':'kevin',
    'stu1102':'jason',
    'stu1103':'maya'
    }

字典是无序的,key是唯一的
 

字典的多层嵌套实现多级联动


catalog = {
    "山东省":{
        "济南市":["历城区","槐荫区","历下区"],
        "青岛市":["市南","市北"],
        "枣庄市":["滕州市","市中区","薛城区"],
           },
    "北京市":{
        "东城区":["test1","test2"],
        "朝阳区":["aabb","ccdd"],
           }
    }

查找:

#查找
print(info['stu1101'])#一般不用,不安全,不存在就报错
print(info.get('stu1103'))#安全
print('stu1104' in info)#安全,没有则返回False

修改:

#修改
info['stu1103'] = 'aabbc'

删除:

#删除
info.pop("stu1101")
del info['stu1102']

#随机删一个,最好不用
info.popitem()

添加:

1.直接对字典中不存在的key进行赋值来添加

info['name']='zhangsan'
#或
info{'name': 'zhangsan'}

2.用字典的setdefault方法

info.setdefault("stu1105","kkkkk")#没有则创建

3.update方法把没有的添加进去,把交叉的进行更新

b = {
    'stu1101':'alex',
    "dasds":'saa',
    1:2132
    }
info.update(b)#把没有的添加进去,把交叉的进行更新

 其他方法:

赋初值的字典

c=dict.fromkeys([6,7,8],"test")#给key赋初始值,多层一改全改
print(c)
#打印key 更高效
for i in info:
    print(i)
#打印key和value 数据量大的时候不高效
for k,v in info.items():
    print(k,v)

2. 多级联动小程序

#三级联动菜单

data = {
    "北京":{
        "朝阳":{
            "望京":["奔驰","陌陌"],
            "国贸":["CICC","HP"],
            "东直门":["Advent","飞信"],
            },
        "昌平":{
            "沙河":["oldboy","test"],
            "天通苑":["链家地产","我爱我家"]
            },
        },
    "山东":{
        "济南":{
            "历下":["山东现代学院","山东英才学院"],
            "章丘":["山东财经大学","齐鲁工业学院"],
            },
        "枣庄":{
            "薛城":["T1","T2"],
            "滕州":["西岗","级索"],
            },
        },
    }
exit_flag = True

while exit_flag:
    for m1 in data:
        print(m1)
    choice1 = input("请选择:>>>")
    if choice1 in data :
        while exit_flag:
            for m2 in data[choice1]:
                print("\t",m2)
            choice2 = input("请选择:>>>")
            if choice2 in data[choice1]:
                while exit_flag:
                    for m3 in data[choice1][choice2]:
                        print("\t",m3)
                    choice3 = input("请选择:>>>")
                    if choice3 in data[choice1][choice2]:
                        for m4 in data[choice1][choice2][choice3]:
                            print("\t",m4)
                        choice4 = input("最后一层,b返回")
                        if choice4 =='b':
                            pass
                        elif choice4 =='q':
                            exit_flag =False
                    elif choice3 =='b':
                        break
                    elif choice3 =='q':
                        exit_flag=False
            elif choice2 =='b':
                break
            elif choice2 =='q':
                exit_flag =False
    elif choice1 =='q':
        exit_flag=False

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值