字典:字典里面的数据是以键值对形式出现,字典数据和数据顺序没有关系,即字典不支持下标,后期无论数据如何变化,只需要按照对应的键的名字查找数据即可
一、创建语法
- 1.1 特点:
- 符号为大括号
- 数据为键值对形式出现
- 各个键值对之间用逗号隔开
- 1.2 语法:
# 存储数据的字典 dict1 = {'name': '张三', 'age': 20, 'gender': '男'} # 空字典 dict2 = {} dict3 = dict()
- 1.3 注意
一般称冒号前面的为键(key),简称k;冒号后面的为值(value),简称v。
二、常见操作
-
2.1 增
写法:字典序列[key] = 值
注意:如果key存在则修改这个key对应的值;如果key不存在则新增此键值对
dict1 = {'name': '张三', 'age': 20, 'gender': '男'}
dict1['id'] = 1
print(dict1) # {'name': '张三', 'age': 20, 'gender': '男', 'id': 1}
注意:字典为可变类型
-
2.2 删
- del()/del:删除字典或删除字典中指定键值对
dict1 = {'name': '张三', 'age': 20, 'gender': '男'} # del dict1 # del(dict1) # del dict1['name'] del(dict1['name']) print(dict1)
- 清空字典
dict1 = {'name': '张三', 'age': 20, 'gender': '男'} dict1.clear() print(dict1) # {}
- del()/del:删除字典或删除字典中指定键值对
-
2.3 改
- 写法:字典序列[key] = 值
注意:如果key存在则修改这个key对应的值;如果key不存在则新增此键值对dict1 = {'name': '张三', 'age': 20, 'gender': '男'} dict1['name'] = '李四' print(dict1) # {'name': '李四', 'age': 20, 'gender': '男'}
- 写法:字典序列[key] = 值
-
2.4 查
-
key键查找
dict1 = {'name': '张三', 'age': 20, 'gender': '男'} print(dict1['name']) # 张三 print(dict1['id']) # 报错
如果当前查找的key存在,则返回对应的值;否则则报错
-
get()
-
语法
字典序列.get(key,默认值)
注意:如果当前查找的key不存在则返回第二个参数(默认值),如果省略第二个参数,则返回None。
-
示例
dict1 = {'name': '张三', 'age': 20, 'gender': '男'} print(dict1.get('name')) # 张三 print(dict1.get('id', 110)) # 110 print(dict1.get('id')) # None
-
keys()
查找字典中所有的key,返回可迭代对象dict1 = {'name': '张三', 'age': 20, 'gender': '男'} print(dict1.keys()) # dict_keys(['name', 'age', 'gender'])
-
values()
查找字典中所有的value,返回可迭代对象dict1 = {'name': '张三', 'age': 20, 'gender': '男'} print(dict1.values()) # dict_values(['张三', 20, '男'])
-
items()
查找字典中所有的键值对,返回可迭代对象,数据是元组,元组数据1是字典的key,数据2是key
所对应的值dict1 = {'name': '张三', 'age': 20, 'gender': '男'} print(dict1.items()) # dict_items([('name', '张三'), ('age', 20), ('gender', '男')])
-
-
三、字典的循环遍历
-
3.1 遍历字典的key
dict1 = {'name': '张三', 'age': 20, 'gender': '男'} for key in dict1.keys(): print(key)
-
3.2遍历字典的value
dict1 = {'name': '张三', 'age': 20, 'gender': '男'} for value in dict1.values(): print(value)
-
3.3 遍历字典的键值对
dict1 = {'name': '张三', 'age': 20, 'gender': '男'} for item in dict1.items(): print(item)
-
3.4 键值对拆包
dict1 = {'name': '张三', 'age': 20, 'gender': '男'} for key,value in dict1.items(): # print(key) # print(value) print(f'{key} = {value}')