python(二)字典

python入门基础(一)列表
3.6、字典
字典是另一种可变容器模型,且可存储任意类型对象。
字典是由键值对组成的,键值对之间用:隔开,用{}包裹起来;
字典查询速度比列表快,而且是无序的

student= {
            'name': '小黑',
            'sex': '男',
            'addr: '河南省济源市北海大道32',
            'grade': '天蝎座',
            'phone': '18612532967',
                }
#以这个字典为例,讲一下字典的增删改查

增加键值对
student['ip']=04
student['age']=18  
print(student)  
student.setdefault('name','杨帆') #增加键值对 
#这两个的区别:setdefault赋值的key如果已经存在,就不会再修改它的值了;

删除
student.pop('ip')   #删除'ip'
print(student)  
student.popitem()  #随机删除某键值对
del stundet['ip']
print(student)

修改
student['addr']='北京'   #对地址重新定义
dict={'身高':185}
student.update(dict)   #将两个字典合并
print(student)

查找
print(student['身高'])  #显示身高
print(student.get['爱好':'打球'])  #如果查找的key在字典里灭有,为了
                            #避免报错,可以先用 get函数给一个默认值
print(student.values())    #显示所有键值
for i in student:
    print(i)   #这两行代码实现了字典的循环,就可以输出字典的全部key
print(student.key())  #也是显示字典的值,但是调用了一次方法
for k,v in student.items():
    print(k,v)  #显示所有键值对

字典的多层嵌套

all_stus = {
    'xiaojun':
    {
        'sex': '男',
        'shengao': '185',
        'age': 18,
        'email': 'acb@qq.com',
        'addr': '火星',
        'id': 1,
        'cars':['牧马人','911','野马','劳斯莱斯']
        #五菱宏光
    },
    'hailong':{
        'sex': '男',
        'shengao': '185',
        'age': 18,
        'email': 'acb@qq.com',
        'addr': '火星',
        'id': 2
    },
    'yangfan':{
        'sex': '男',
        'shengao': '185',
        'age': 18,
        'email': 'acb@qq.com',
        'addr': '火星',
        'id': 3,
        'bags':{
            'qianbao':['lv','ysl'],
            'beibao':['coach','abc']
        }
    }
}
all_stus = {
    'xiaojun':{},
    'hailong':{},
    'yangfan':{bags[],[]}   #字典里嵌套字典,字典里又有列表
}

#给xiaojun加一辆五菱之光的车
all_stus['xiaojun'][cars].append='五菱之光'

#统计xiaojun一共有几辆车
print(len(all_stus['xiaojun'][cars]))

#修改yangfan的性别
all_stus['yangfan'][sex]='女'

#删除yangfan的lv包
all_stus['yangfan']['bags']['qianbao'].remove('lv')
del all_stus['yangfan']['bags']['qianbao'][0]
#两种方式都能删除
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值