目录
(1)del()/del : 删除字典或删除字典中指定的键值对
一、字典的应用场景
思考:当列表中存储的数据顺序发生变化,每个数据的的下标也随之发生变化,还能通过同一标准找到对应的数据吗?
答:不能
思考:那如何查找数据呢?
答:字典,字典里面的数据是以键值对形式出现,字典数据和数据顺序没有关系,即字典不支持下标,后期无论数据如何变化,只要按照对应的键的名字查找数据即可。
二、创建字典
如何去创建字典呢?
字典特点:
- 符号为大括号
- 数据以键值对形式出现
- 各键值对之间用逗号隔开
# 1.创建有数据的字典
d1 = {'name':'张三','age':18,'sex':'男'}
# 2.创建空字典
d2 = {}
# 3.用函数创建空字典
d3 = dict()
三、字典常见操作
注意:字典为可变类型的
1. 新增/修改
语法:
字典序列[key] = 值
注意:如果key存在则修改这个key对应的值;如果key不存在则新增此键值对。
d1 = {'name':'张三','age':18,'sex':'男'}
# key不存在,修改键值对
d1['name'] = '李四'
print(d1) # {'name': '李四', 'age': 18, 'sex': '男'}
# key不存在则新增此键值对
d1['tel'] = '18212345678'
print(d1) # {'name': '李四', 'age': 18, 'sex': '男', 'tel': '18212345678'}
2. 删除
(1)del()/del : 删除字典或删除字典中指定的键值对
d1 = {'name':'张三','age':18,'sex':'男'}
# 删除字典
# del
del d1
del(d1)
# 删除键值对
del d1['name']
print(d1) # {'age': 18, 'sex': '男'}
(2)clear() 清空字典中的数据
d2 = {'name':'张三','age':18,'sex':'男'}
# clear() -- 清空字典中的数据
d2.clear()
print(d2) # {}
(3)查找
- 按key值查找
注意:如果当前查找的key存在,则返回对应的值,否则报错。
d1 = {'name':'张三','age':18,'sex':'男'}
print(d1['name']) # 张三
print(d1['tel']) # 报错
- get()
注意:如果当前查找的key不存在则返回第二个参数(默认值),如果省略第二个参数,则返回None。
字典序列.get(key,默认值)
d2 = {'name':'张三','age':18,'sex':'男'}
print(d2.get('name')) # 张三
print(d2.get('tel')) # None
print(d2.get('tel',18811111111)) # 18811111111
- keys()
d3 = {'name':'张三','age':18,'sex':'男'}
print(d3.keys()) # dict_keys(['name', 'age', 'sex'])
- values()
d4 = {'name':'张三','age':18,'sex':'男'}
print(d4.values()) # dict_values(['张三', 18, '男'])
- items()
d5 = {'name':'张三','age':18,'sex':'男'}
print(d5.items()) # dict_items([('name', '张三'), ('age', 18), ('sex', '男')])
四、字典的循环遍历
1. 遍历字典的key
d = {'name':'张三','age':18,'sex':'男'}
for i in d.keys():
print(i)
---运行结果---
name
age
sex
2. 遍历字典的value
d = {'name':'张三','age':18,'sex':'男'}
for i in d.values():
print(i)
---运行结果---
张三
18
男
3. 遍历字典的键值对
d = {'name':'张三','age':18,'sex':'男'}
for i in d.items():
print(i)
---运行结果---
('name', '张三')
('age', 18)
('sex', '男')
4. 遍历字典的键值对(拆包)
d = {'name':'张三','age':18,'sex':'男'}
for i,j in d.items():
print(f'{i} = {j}')
---运行结果---
name = 张三
age = 18
sex = 男