一、字典
字典里面的数据是以键值对的形式出现的,字典顺序和数据顺序没有关系即字典不支持下标,后期无论数据如何变化,只需要按照对应的键的名字查找即可。
二、字典的创建
字典的特点:
- 符号为大括号
- 数据以键值对的形式出现
- 各个键值对之间用逗号隔开
dict1 = {"name": "Jasmine", "age": 23, "sex": "女"}
print(dict1)
#空字典
dict2 = {}
dict3 = dict()
三、字典的常用操作
3.1 新增
语法:字典序列[key] = 值
注意:如果这个key存在则修改这个key对应的值;如果key不存在则新增此键值对。
dict1 = {"name": "Jasmine", "age": 23, "sex": "女"}
dict1["name"] = "Cocky"
print(dict1)
dict1["num"] = 95
print(dict1)
注意:字典是可变类型。
3.2 删除
- del()/del:删除字典或字典中的指定键值对
- clear():清空字典
#删除操作
dict1 = {"name": "Jasmine", "age": 23, "sex": "女"}
#del(dict1) #删除字典
del(dict1["name"]) #删除键值对
dict1.clear() #清空字典
print(dict1)
3.3 修改
语法:字典序列[key] = 值
注意:如果这个key存在则修改这个key对应的值;如果key不存在则新增此键值对。
3.4 查找
3.4.1 key值查找
如果当前查找的key值存在,则返回对应的值;否则报错。
dict1 = {"name": "Jasmine", "age": 23, "sex": "女"}
print(dict1["name"]) #Jasmine
print(dict1["num"]) # 报错
3.4.2 get()函数
语法:字典序列.get(key, 默认值)
注意:如果当前查找的key值不存在则返回第二个参数(默认值),如果省略第二个参数,则返回None。
dict1 = {"name": "Jasmine", "age": 23, "sex": "女"}
print(dict1.get("name")) # Jasmine
print(dict1.get("id")) # None
print(dict1.get("id", 95)) # 95
3.4.3 keys()函数
dict1 = {"name": "Jasmine", "age": 23, "sex": "女"}
print(dict1.keys()) # dict_keys(['name', 'age', 'sex'])
3.4.4 values()函数
dict1 = {"name": "Jasmine", "age": 23, "sex": "女"}
print(dict1.values()) # dict_values(['Jasmine', 23, '女'])
3.4.5 items()函数
dict1 = {"name": "Jasmine", "age": 23, "sex": "女"}
print(dict1.items()) # dict_values(['Jasmine', 23, '女'])
# dict_items([('name', 'Jasmine'), ('age', 23), ('sex', '女')])
四、字典的循环遍历
4.1 遍历字典的key
dict1 = {"name": "Jasmine", "age": 23, "sex": "女"}
for i in dict1.keys():
print(i)
4.2 遍历字典的value
dict1 = {"name": "Jasmine", "age": 23, "sex": "女"}
for i in dict1.values():
print(i)
4.3 遍历字典的元素
dict1 = {"name": "Jasmine", "age": 23, "sex": "女"}
for i in dict1.items():
print(i)
4.4 遍历字典的键值对
dict1 = {"name": "Jasmine", "age": 23, "sex": "女"}
for key, value in dict1.items():
print(f"{key} = {value}")