目录
字典的定义
注意:每个字典里面的key都是唯一的,如果出现了多个key的情况,后面的key会覆盖前面的key
定义空字典
dict1 = {}
print(dict1) # {}
定义非空字典(四种方式)
# 方式1 (常用)
dict1 = {'name': '张三', 'age': '18'}
print(dict1) # {'name': '张三', 'age': '18'}
# 方式2
# 使用dict(key=value)函数来定义
dict2 = dict(color='红色', size=17)
print(dict2) # {'color': '红色', 'size': 17}
# 方式3
# 使用dict(zip([key1,key2,key3....],[value1,value2,value3....]))
dict3 = dict(zip(['x1', 'x2', 'x3'], [1, 2, 3]))
print(dict3) # {'x1': 1, 'x2': 2, 'x3': 3}
# 注意:当key的数量和value的数量不一致时,以数量少的为基准
dict3 = dict(zip(['x1', 'x2', 'x3', 'x4', 'x5'], [1, 2, 3, 4, 5, 6, 7]))
print(dict3) # {'x1': 1, 'x2': 2, 'x3': 3, 'x4': 4, 'x5': 5}
# 方式4
dic4 = dict([('name', '张三'), ('age', 18), ('gender', '女')])
print(dic4) # {'name': '张三', 'age': 18, 'gender': '女'}
字典元素的获取
1. 访问字典中的元素
# 第一种方式:通过key访问
dict1 = {'name': '张三', 'age': 18, 'gender': '女'}
print(dict1['name']) # 张三
# print(dict1['height']) # 访问字典中不存在的key会报错 KeyError: 'height'
# 第二种方式: 通过get()访问
print(dict1.get('name')) # 张三
print(dict1.get('height')) # None 访问字典中不存在的key,会返回None
2.len() 获取字典元素的长度
dict1 = {'name': '张三', 'age': 18, 'gender': '女'}
print(len(dict1)) # 3
3. 获取字典中的所有key
以列表的形式展示
dict1 = {'name': '张三', 'age': 18, 'gender': '女'}
print(dict1.keys()) # dict_keys(['name', 'age', 'gender'])
4、获取字典中的所有的value
dict1 = {'name': '张三', 'age': 18, 'gender': '女'}
print(dict1.values()) # dict_values(['张三', 18, '女'])
5. 获取字典中的所有的key和value
dict1 = {'name': '张三', 'age': 18, 'gender': '女'}
print(dict1.items()) # dict_items([('name', '张三'), ('age', 18), ('gender', '女')])
遍历字典(四种方式)
dict1 = {'name': '张三', 'age': 18, 'gender': '女'}
# 遍历方式1 获取所有的key
for i in dict1:
# i表示所有的key
print(i)
"""运行结果:
name
age
gender
"""
# 遍历方式2 获取所有的value
dict1 = {'name': '张三', 'age': 18, 'gender': '女'}
for i in dict1.values():
# i 表示所有的元素值
print(i)
"""运行结果
张三
18
女
"""
# 遍历方式3 enumerate(dict1)
dict1 = {'name': '张三', 'age': 18, 'gender': '女'}
for k, v in enumerate(dict1):
print(k, "-----", v)
"""运行结果
0 ----- name
1 ----- age
2 ----- gender
"""
# 遍历方式4 items()
dict1 = {'name': '张三', 'age': 18, 'gender': '女'}
for k, v in dict1.items():
print(k, "-----", v)
"""运行结果
name ----- 张三
age ----- 18
gender ----- 女
"""
字典的增删改
(1)合并字典 update()
dict1 = {'name': '张三', 'age': 18, 'gender': '女'}
dict2 = {'height': 188}
print(dict1) # {'name': '张三', 'age': 18, 'gender': '女'}
print(dict2) # {'height': 188}
dict1.update(dict2)
print(dict1) # {'name': '张三', 'age': 18, 'gender': '女', 'heigth': 188}
(2)向字典中新增元素
dict1 = {'name': '张三', 'age': 18, 'gender': '女'}
print(dict1) #{'name': '张三', 'age': 18, 'gender': '女'}
dict1['height'] = 200
print(dict1) # {'name': '张三', 'age': 18, 'gender': '女', 'height': 200}
(3)修改字典中的元素
dict1 = {'name': '张三', 'age': 18, 'gender': '女'}
dict1['name'] = '李四'
print(dict1) # {'name': '李四', 'age': 18, 'gender': '女'}
(4)删除字典中的元素
# 方式1 pop()
dict1 = {'name': '张三', 'age': 18, 'gender': '女'}
dict1.pop('age')
print(dict1) # {'name': '张三', 'gender': '女'}
# 方式2 popitem() 默认删除最后一个元素
dict1 = {'name': '张三', 'age': 18, 'gender': '女'}
dict1.popitem()
print(dict1) # {'name': '张三', 'age': 18}
# 方式3 clear() 表示清空字典
dict1 = {'name': '张三', 'age': 18, 'gender': '女'}
dict1.clear()
print(dict1) # {}