一、字典的定义
- 1.1、
dictionary
(字典) 是除列表以外Python
之中 最灵活的数据类型 - 1.2、字典同样可以用来 存储多个数据 (通常用于存储 描述一个
物体
相关的信息) - 1.3、和列表的区别
- 列表 是 有序 的对象集合
- 字典 是 无序 的对象集合
- 1.4、字典用
{}
定义 - 1.5、字典使用 键值对 存储数据,键值对之间使用
,
分割
- 键
key
是索引 - 值
value
是数据 - 键 和 值 之间 使用
:
来分割 - 在一个字典里面
键
必须是唯一的 - 值 可以是任意数据类型,但是 键 只能使用
字符串、数字 或者 元组
dict = {"name":"李四","age":18,"height":1.78}
- 展示一张图
二、字典的基本操作
- 2.1、字典是一个无序的对象集合(定义的顺序与打印的数据有可能是不一样的)
dict = {"name":"李四","age":18,"height":1.78} print(dict)
- 2.2、字典的取值(根据
key
取值),如果key
不存在,那么就会运行报错
dict = {"name":"李四","age":18,"height":1.78} print(dict[@"name"]) 打印结果是:李四
- 2.3、字典的元素增加和修改
dict = {"name":"李四","age":18,"height":1.78} # 如果key不存在,那么这个键值对将被增加到字典里面 dict["like"] = "打篮球" print(dict) 打印结果是:{'name': '李四', 'age': 18, 'height': 1.78, 'like': '打篮球'} # 如果key存在于字典类里面,那么这个键的值就会被修改 dict["name"] = "王五" print(dict) 打印结果是:{'name': '王五', 'age': 18, 'height': 1.78, 'like': '打篮球'}
- 2.4、字典元素的删除
字典.pop(键名)
如果删除的key不存在,运行后就会报错
dict = {"name":"李四","age":18,"height":1.78} # 如果删除的key不存在,运行后就会报错 dict.pop("name") print(dict) 打印结果是:{'age': 18, 'height': 1.78}
三、字典的常用操作
- 3.1、统计字典 键值对的数量 ,
len(字典)
dict = {"name":"李四","age":18,"height":1.78} print(len(dict)) 打印结果是:3
- 3.2、合并字典
字典1.update(字典2)
,如果两个字典在合并的过程中,字典2里面的键 与 字典1重复,那么字典2的重复键的值将覆盖 字典1的相同键的值
dict1 = {"name":"李四","age":18,"height":1.78} dict2 = {"name":"王五","color":"蓝色"} dict1.update(dict2) print(dict1) 打印结果是:{'name': '王五', 'age': 18, 'height': 1.78, 'color': '蓝色'}
- 3.3、字典的循环遍历
- 遍历 就是 依次 从字典中获取所有键值对
dict = {"name":"李四","age":18,"height":1.78} # key 是每一次循环中 键值对 中的 key for key in dict: print("key=%s value=%s" % (key, dict[dict]))
- 在实际的开发中,由于字典中每一个键值对对保存的数据类型是不同的,所以针对字典的循环遍历要求并不是很多
- 3.4、应用场景
- (1)、使用 多个键值对,存储 描述一个
物体
的相关信息 -- 描述更复杂的数据信息 - (2)、将 多个字典 放在 一个列表 中,再进行遍历,在循环体内部针对每一个字典进行 相同的处理
people_messages_list = [{"name":"张三","weixin":"zs456","phone":"1234567"}, {"name":"李四","weixin":"ls123","phone":"456789"}] for people_messages in people_messages_list: # 打印的是每一个字典,每一个字典里面包含的是每个人的信息 print(people_messages)