day07-字典

day07-字典

用一个容器同时保存多个数据的时候的建议:

​ 多个数据的意义相同 - 列表

​ 多个数据的意义不同 - 字典

认识字典

  • 字典(dict)
"""
1) 容器型数据类型
    {} - 容器标志
    元素 - 键值对, 逗号隔开{键1: 值1, 键2: 值2, ...}
2) 可变 - 增删改
3) 无序 - 不支持下标
4)元素要求:
    a. 键: 不可变数据类型的数据; 唯一
    b. 值: 没有要求
"""

字典的查操作

  • 查单个(重要) - 获取单个值
"""
语法1: 字典[键] - 获取指定键对应的值, 键不存在时报错
语法2: 字典.get(键) - 获取指定键对应的值, 键不存在时返回空,不报错
语法3: 字典.get(键, 默认值) - 获取指定键对应的值, 键不存在时返回默认值,不报错

注意: 语法1 效率比 语法2 语法3 略高
"""
  • 遍历
"""
语法1:
for key in dict:
    循环体
    
语法2;
for value in dict.values():
    循环体
 
语法3:   
for key in dict.keys():
    循环体

语法4:    
for key, value in dict.items():
    循环体 
"""

字典的增删改

  • 增, 改
"""
语法1: dict[key] = value - key不存在: 添加key: value
                           key存在: 修改key对应的 value
语法2: dict.setdefault(key, value) - key存在: 添加key: value
                                    key不存在: 无效果
语法3: 字典.update(字典/可以用dict()转换为列表的其他序列) - 可增可改
"""
"""
1) del dict[key] - 删除指定key对应的key:value
2) dict.pop(key) - 取出指定key对应的value(必须给key, 否则报错)
"""

字典相关操作和方法

  • 字典相关操作

in, not in, ==

"""
不支持: +, *, 比较大小
支持: 比较相等, in, not in

字典的in和not in判断的是是否存在指定的键
"""
  • 字典相关函数

len, dict

  • 字典转换为其他序列(如列表), 将字典的key作为列表的元素

dict(数据) - 将指定数据转换成字典

"""
字典.keys() - 获取所有的键, 返回键的序列
字典.values() - 获取所有的值, 返回值的序列
字典.items() - 获取所有键值对, 以二元组形式返回键值对序列
"""
  • 字典相关方法: 字典.方法()

字典.clear() - 清空字典

字典.copy() - 拷贝原字典, 返回新字典

字典.get()

字典…setdefault()

"""
字典.keys() - 获取所有的键, 返回键的序列
字典.values() - 获取所有的值, 返回值的序列
字典.items() - 获取所有键值对, 以二元组形式返回键值对序列
"""

字典1.update(字典2) - 将字典2中所有的键值对都添加到字典1

"""
也可以实现改的功能, 同时可以进行类型转换后的增

"""
print('--' * 10, '分割线', '--' * 10)
dict1 = {'a': 10, 'b': 20, 'c': 30}
dict1.update({'name': '张三', 'age': 35})
print(dict1)
dict1.update([('d', 40), ('e', 50), ('a', 60)])
print(dict1)

字典推导式

"""
结构1:    {表达式1: 表达式2 for 变量 in 序列}
结构2:    {表达式1: 表达式2 for 变量 in 序列 if 条件语句}
"""
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值