Python学习笔记-11

目录

 

字典

字典的应用场景

创建字典的语法

字典常见操作

 删

 改

字典的循环遍历


 

字典

字典的应用场景

思考:如果有多个数据,例如:‘Tom’,‘男’,‘20’,如何快速储存

答:列表

list = [‘Tom’,‘男’,‘20’]

思考:如何查找到数据'Tom'?

答:查找到下标为0的数据即可。

list[0]

思考:如果将来数据顺序发生变化,还能用list[0]访问到数据Tom吗?

答:不能,数据下标会跟着改变。

思考:有什么办法能解决上述数据顺序改变的问题呢?

答: 字典。

字典里面的数据是以键值对形式出现,字典数据和数据顺序没有关系,即字典不支持下标,后期无论数据如何变化,只需要按照对应的键的名字查找数据即可。

创建字典的语法

字典特点

符号为大括号

数据为键值对形式出现

各个键值对之间用逗号隔开

 创建字典

# 有数据的字典
>>> d1 = {'name':'溏心蛋','age':'18','gender':'男'} 
>>> d1
{'name': '溏心蛋', 'age': '18', 'gender': '男'}
>>> type(d1) 
<class 'dict'>

# 创建空字典
>>> d2 = {}
>>> type(d2) 
<class 'dict'>

字典常见操作

语法:字典[key] = 值

注意:如果key存在则修改这个key对应的值,如果key不存在则新增此键值对

# 修改原有数据
>>> d1 = {'name':'溏心蛋','age':'18','gender':'男'}
>>> d1['name'] = '小鹿'
>>> d1
{'name': '小鹿', 'age': '18', 'gender': '男'}
# 新增没有的数据
>>> d1['id'] = 520
>>> d1
{'name': '小鹿', 'age': '18', 'gender': '男', 'id': 520}

 注意:字典为可变类型。

 删

del()/del:删除字典或删除字典中指定键值对

>>> d1 = {'name':'溏心蛋','age':'18','gender':'男'}
>>> del d1['gender'] 
>>> d1
{'name': '溏心蛋', 'age': '18'}
>>> del d1
>>> d1
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'd1' is not defined. Did you mean: 't1'?

clear():清空字典 

>>> d1 = {'name':'溏心蛋','age':'18','gender':'男'}
>>> d1.clear()
>>> d1
{}

 改

语法:字典[key] = 值

注意:如果key存在则修改这个key对应的值,如果key不存在则新增此键值对。

key值查找

>>> d1 = {'name':'溏心蛋','age':'18','gender':'男'}
>>> d1['name'] 
'溏心蛋'
>>> d1['id']
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'id'

 如果当前查找的key存在,则返回对应的值,否则报错。

get()

语法

字典.get(key,默认值) 

注意:如果当前查找的key不存在则返回第二个参数(默认值),如果省略第二个参数,则返回None。

>>> d1 = {'name':'溏心蛋','age':'18','gender':'男'}
>>> d1.get('name') 
'溏心蛋'
>>> d1.get('id')   
>>> d1.get('id',110) 
110

keys() :获得字典的所有key

>>> d1 = {'name':'溏心蛋','age':'18','gender':'男'}
>>> d1.keys()
dict_keys(['name', 'age', 'gender'])

 values():返回所有的值

>>> d1 = {'name':'溏心蛋','age':'18','gender':'男'}
>>> d1.values()
dict_values(['溏心蛋', '18', '男'])

 items():返回以键值对为一组的元祖组成的列表

>>> d1 = {'name':'溏心蛋','age':'18','gender':'男'}
>>> d1.items()
dict_items([('name', '溏心蛋'), ('age', '18'), ('gender', '男')])

字典的循环遍历

1. 遍历字典的key

>>> for key in d1.keys():
...     key
... 
'name'
'age'
'gender'

2.遍历字典的values

>>> d1 = {'name':'溏心蛋','age':'18','gender':'男'}
>>> for values in d1.values():   
...     values 
... 
'溏心蛋'
'18'
'男'

 3.遍历字典中的元素

>>> d1 = {'name':'溏心蛋','age':'18','gender':'男'}
>>> for item in d1.items():
...     item
... 
('name', '溏心蛋')
('age', '18')
('gender', '男')

4. 遍历字典的键值对

>>> d1 = {'name':'溏心蛋','age':'18','gender':'男'}
>>> for key,value in d1.items():
...     f'{key}={value}' 
... 
'name=溏心蛋'
'age=18'
'gender=男'

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

溏心蛋*

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值