- 定义
- 方式一:变量名 = dict()
- 方式二:变量名 = {}
- 遍历
- 正常遍历:直接遍历字典,遍历的是字典的key值
- keys()方法返回一个可迭代对象,可以使用 list() 来转换为列表,列表为字典中所有的key
- values()方法返回一个可迭代对象,可以使用 list() 来转换为列表,列表为字典中的所有value
- items() 方法以列表返回可遍历的(键, 值) 元组数组
- 查询操作:字典中不支持下标操作,想要访问字典中的value值,需要通过字典中的key值
- dict[key]
- get()函数根据key值获取对应的value值
- 添加/修改操作
- 删除操作
- pop()方法删除字典给定键 key 及对应的值,返回值为被删除的值。key 值必须给出。 否则,返回 default 值
- del根据key值删除字典中键值对
- clear() 清空,将字典中所有的键值对删除
定义
字典dict由
键值对(key, value)
组成,每个键值对之间用,
(英文逗号)隔开
- 字典的key值(键)一般是字符串,也可以是int、float等,但是
不能为列表
- 字典的key值(键)是
唯一的
,不能重复 - 字典中的value可以是
任意类型
方式一
语法
my_dict = dict()
示例
my_dict = dict() # 定义空字典
print(f"我是字典定义方式一:{my_dict, type(my_dict)}")
输出
方式二
语法
my_dict = {}
示例
my_dict = {} # 定义空字典
print(f"我是字典定义方式二:{my_dict, type(my_dict)}")
my_dict1 = {"name": "小明", "age": 18, "sex": "男", "like": ["run", "study", "game"]}
print(f"我是字典定义方式二:{my_dict1, type(my_dict1)}")
输出
遍历
正常遍历
简介
直接遍历字典,遍历的是字典的
key值
示例
my_dict = {"name": "小明", "age": 18, "sex": "男", "like": ["run", "study", "game"]}
# i 是字典中的key
for i in my_dict:
print(i, my_dict[i])
输出
keys()
简介
keys() 方法返回一个
可迭代对象
,可以使用 list() 来转换为列表,列表为字典中所有的key
语法
dict.keys()
返回值
返回一个迭代器
示例
my_dict = {"name": "小明", "age": 18, "sex": "男", "like": ["run", "study", "game"]}
result = my_dict.keys()
print(type(result), result)
for key in my_dict.keys():
print(key)
输出
values()
简介
values() 方法返回一个
可迭代对象
,可以使用 list() 来转换为列表,列表为字典中的所有value
语法
dict.values()
返回值
返回一个迭代器
示例
my_dict = {"name": "小明", "age": 18, "sex": "男", "like": ["run", "study", "game"]}
result = my_dict.keys()
print(type(result), result)
for value in my_dict.values():
print(value)
输出
items()
简介
items() 方法以
列表
返回可遍历的(键, 值) 元组数组
语法
dict.items()
返回值
返回
可遍历的(键, 值) 元组数组
示例
my_dict = {"name": "小明", "age": 18, "sex": "男", "like": ["run", "study", "game"]}
result = my_dict.keys()
print(type(result), result)
for item in my_dict.items():
print(item)
print("=" * 20)
# 遍历出来的内容是一个元组类型的数据,元组中有两个数据(key, value),所以这个地方可以使用两个变量
# key是元组中第一个数据,value是元组中第二个数据
for key, value in my_dict.items():
print(key, value)
输出
查询操作
字典中
不支持下标操作
,想要访问
字典中的value值
,需要通过字典
中的key值
dict[key]
示例
my_dict = {"name": "小明", "age": 18, "sex": "男", "like": ["run", "study", "game"]}
print(f"我要访问name对应的value的值:{my_dict['name']}")
print(f"我要访问sex对应的value的值:{my_dict['sex']}")
# key值不存在会直接报错
print(f"我要访问height对应的value的值:{my_dict['height']}")
输出
get()
简介
get() 函数根据
key值
获取对应的value值
语法
dict.get(key, data=None)
参数
- key – 字典中要查找的键
- data – 如果指定的键不存在时,返回该默认值
返回值
返回
指定键的值
,如果键不在字典中
返回默认值 None 或者指定的默认值
示例
my_dict = {"name": "小明", "age": 18, "sex": "男", "like": ["run", "study", "game"]}
print(f"通过get()函数访问name对应的value的值:{my_dict.get('name')}")
print(f"通过get()函数访问height对应的value的值:{my_dict.get('height', '稍后再试')}")
输出
添加/修改操作
- 字典中的
key值不能重复
dict[key] = value
key值不存在就是添加操作
key值存在就是修改操作
示例
my_dict = {"name": "小明", "age": 18, "sex": "男", "like": ["run", "study", "game"]}
print(f"我是原字典:{my_dict}")
# key值存在,修改数据
my_dict["age"] = 20
print(f"修改age对应的value的值:{my_dict}")
# 通过key值like添加value值music
my_dict["like"].append("music")
print(f"修改like对应的value的值:{my_dict}")
# key值不存在,添加数据
my_dict["height"] = 170
print(f"添加height对应的value的值:{my_dict}")
输出
删除操作
pop()
简介
pop() 方法删除字典
给定键 key
及对应的值
,返回值
为被删除的值
。key 值必须给出。 否则,返回 default 值
语法
pop(key[,data])
参数
- key: 要删除的键值
- data: 如果没有 key,返回 data 值
返回值
返回被删除的值
示例
my_dict = {"name": "小明", "age": 18, "sex": "男", "like": ["run", "study", "game"]}
print(f"我是原字典:{my_dict}")
result = my_dict.pop('age')
print(f"删除age对应的的value值是:{result}")
print(f"通过pop()函数删除age键值对:{my_dict}")
输出
del
简介
根据
key值
删除字典中键值对
语法
del dict[key]
示例
my_dict = {"name": "小明", "age": 18, "sex": "男", "like": ["run", "study", "game"]}
print(f"我是原字典:{my_dict}")
del my_dict["like"]
print(f"通过del删除like键值对:{my_dict}")
输出
clear()
简介
清空,将字典中
所有的键值对删除
语法
dict.clear()
示例
my_dict = {"name": "小明", "age": 18, "sex": "男", "like": ["run", "study", "game"]}
print(f"我是原字典:{my_dict}")
my_dict.clear()
print(f"通过clear()函数清空my_dict:{my_dict}")
输出