Python基本数据类型--字典

字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中 ,格式如下所示:

stu = {
    'name': 'jyd',
    'id': 1,
    'age': 18,
    'addr': '北京',
    'hight': 156
}

字典中的键必须是唯一的,但值则不必。值可以取任何数据类型,但键必须是不可变的,如字符串,数字。

获取字典中的值

stu = {
    'name': 'jyd',
    'id': 1,
    'age': 18,
    'addr': '北京',
    'hight': 156
}   # key - value  Key不能重复

print(stu.get('age'))
print(stu.get('age1'))  # key不存在返回None
print(stu.get('sex', '女'))  # key不存在,可以指定返回值

输出结果:

18
None
女

还可以用stu['age']获取字典中的值,区别在于使用这种方式,如果key不存在会报错KeyError

修改字典

stu['age'] = 28  # 指定key,修改value

输出结果:

修改前字典值 {'age': 18, 'hight': 156, 'name': 'jyd', 'addr': '北京', 'id': 1}
修改前字典值 {'age': 28, 'hight': 156, 'name': 'jyd', 'addr': '北京', 'id': 1}

新增字典中的值

stu['phone'] = 182   # 新增key,赋新值
stu.setdefault('email', '123@qq.com')  # 如果key存在,不会改变值

输出结果:

新增前字典值 {'age': 18, 'hight': 156, 'id': 1, 'name': 'jyd', 'addr': '北京'}
新增后字典值 {'name': 'jyd', 'phone': 182, 'age': 18, 'hight': 156, 'id': 1, 'email': '123@qq.com', 'addr': '北京'}

删除字典中的值

print('删除前字典值', stu)
stu.pop('age')  # 删除键'age'
print('pop删除age后字典值', stu)

del stu['addr']  # 删除键'addr'
print('del删除addr后字典值', stu)

stu.popitem()  # 随机删除一个元素
print('popitem删除后字典值', stu)

输出结果:

删除前字典值 {'addr': '北京', 'name': 'jyd', 'hight': 156, 'age': 18, 'id': 1}
pop删除age后字典值 {'addr': '北京', 'name': 'jyd', 'hight': 156, 'id': 1}
del删除addr后字典值 {'name': 'jyd', 'hight': 156, 'id': 1}
popitem删除后字典值 {'hight': 156, 'id': 1}

其他常用方法:

stu.claer() # 清空字典
print(stu.values())  # 打印字典里面的所value
print(stu.keys())   # 打印字典里面的所有key
print(stu.items())  # 将字典转换成列表(二维)

stu2 = {'money': 100}
stu.update(stu2)  # 把第一个字典里面的值,放到另外一个字典里去

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值