一.字典的定义
1.语法
- 使用{ }存储原始,每一个元素是一个键值对
- 每一个键值对包含Key和Value(用冒号分隔)
- 键值对之间使用逗号分隔
- Key和Value可以是任意类型的数据(key不可为可变类型(列表集合字典))
- Key不可重复,重复会对原有数据覆盖
# 定义空字典
dict1 = {}
print(dict1, type(dict1))
dict2 = dict()
print(dict2, type(dict2))# 定义非空字典
dict3 = {'张三': 88, '李四': 89, '王五': 99, '张三': 77}
print(dict3)
2.数据的获取
语法:
- 字典名[key]
- 字典名.get(key)
3.字典的嵌套
# 字典嵌套
dict4 = {'张三': {'语文': 88, '数学': 78},'李四': {'语文': 68, '数学': 87},'王五': {'语文': 69, '数学': 94}
}
print(dict4)
# 查找,数据获取
print(dict4['张三'])
print(dict4['张三']['数学'])
二.常见操作
1.新增元素
语法: 字典名[key] = value
2.更新元素
# 定义空字典
dict = {}
print(dict, type(dict))# 新增操作
dict[1.0] = '张三'
print(dict)
dict[2] = '李四'
print(dict)
dict[3] = '王五'
print(dict)# 更新操作
dict[1] = '赵六'
print(dict)
# 注意:数值1 和1.0 本质是一样的,所以是修改操作
3.查询操作
# 查询操作
# len
print(len(dict))
# key:键 keys:所有键
print(dict.keys())
# value:值 values:所有值
print(dict.values())
# item:值 items:所有键值对
print(dict.items())# 根据key 找值
# 方法1 字典名[key]
print(dict[1.0])
# 方法2 字典名.get(key)
print(dict.get(1.0))
4.删除操作
# 语法:字典.pop(Key),指定Key的数据被删除
dict.pop(1.0)
print(dict)
# del 字典[key]
del dict['李四']
print(dict)
# clear 清空字典内的元素
dict.clear()
print(dict)
# del 删除字典
del dict
print(dict) #报错,说明删除成功
5.for循环遍历
语法:for key in 字典.keys()
# 定义非空字典
dict4 = {'张三': {'语文': 88, '数学': 78},'李四': {'语文': 68, '数学': 87},'王五': {'语文': 69, '数学': 94}
}
# 遍历
for name in dict4:score_info = dict4.get(name)for subject in score_info:score = score_info.get(subject)print(f'{name}的{subject}成绩为{score}分')
注意: 因为字典没有索引,所以不能用while循环
6.总结
三.字典的特点
- 可以存储多个元素
- 可以是不同类型的数据(注意key不能是可变类型)
- 每一份数据是KeyValue键值对
- 可以通过Key获取到Value,Key不可重复(重复会覆盖)
- 不支持下标索引
- 可以修改(增加或删除更新元素等)
- 支持for循环,不支持while循环