106-字典 数据容器
一个变量中同时保存多个值就成为容器
字典、集合的定义和应用场景
数据容器的公共方法
列表推导式编写(简化代码)
字典
定义
保存某一个事物的信息,可以体现出事物的信息
key不一定要是字符串
字典名称 = {key: value, key:value}
索引没有索引下标,key等价于索引下标
key是唯一的,
没有顺序要求
print(字段名称['key'])
常见问题
- 字典不允许切片
- 创建有数据的字典,只能通过{}大括号,不能通过
dict()
方法dict()
用来转换类型和创建空字典
- 字符串加引号,数字不用加引号
增删改查(相同语法)
字典名称[key] = value
如果字典中没有这个key,以上就是一个新增操作
如果字典中有这个key,以上就是修改操作
删除
-
del 字典名[key]
-
删除整个字典:
self.items.clear()
-
使用 pop() 方法
pop() 方法除了删除键外,还会返回被删除键的值。
查询
- 获取字典中的某个元素,字典名称[key],代表访问指定的元素
- 字典也支持直接打印输出
- 字典也可以配合for循环进行遍历,但是要特别注意:只有字典中的key可以遍历出来(默认)
for key in dic:
print(key) # 打印键
print(dic[key])
其他方法
- keys():以列表方式返回字典中所有的key键
- values():以列表方式返回字典中所有的vaLue值
- items():以外面是列表,里面每一个元素都是元组的方式获取字典中的key,,value键值对=>[(key1,vaLue1),(key2,value2)]
注意:以上三个方法很少单独使用,都要配合for循环进行遍历操作
例如:!!!!!‼️❗
❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗
# ③使用for循环直接对字典进行遍历
for key in student:
print(key)
# 在④使用keys方法获取字典中所有的key键与上面的代码等价
for key in student.keys():
print(key)
# 使用vaLues()方法获取字典中所有的vaLue值
for value in student.values():
print(value)
# 使用items()方法获取字典中的key,vaLue键值对
for key, value in student.items():
print(f'{key}: {value}')
❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗
列表和字典的结合
- 列表:特别适合保存多个数据
- 字典:特别适合保存一个事物的信息,如一个人、一本书、一个商品等等
- 把列表+字典结合起来就可以同时保存多个事物的信息
字典的 get() 方法,用于安全地获取字典中的值
dic.get(key) 是字典的 get() 方法,用于安全地获取字典中的值。