4.11 python 字典
Python数据类型第1种:字符串(str),用引号括起来的内容。
Python数据类型第2种:整数(int)。
Python数据类型第3种:浮点数(float),含有小数点的数。
Python数据类型第4种:列表(list),用方括号[ ]
表示。
Python数据类型第5种:元组(tuple),用圆括号( )
表示。
Python数据类型第6种:字典(dict),用大括号{ }
表示。
4.11.1 字典的概念
列表、元组存储的是有序数据,有序是指按0、1、2、3的顺序依次排列。
字典存储的是具有映射关系的数据,映射可以理解成一种对应关系。
列表、元组存储的数据称为元素。
字典存储的数据称为键值对,是无序的序列。
字典用{ }
表示,键值对之间用英文逗号 ,
分隔,键与值之间用英文冒号 :
分隔。
字典是可变的数据类型,可以增删改键值对。
注意:dict 作为 Python 的关键字和内置函数,变量名不建议命名为 dict。
dictionary[ˈdɪkʃənri]:字典
字典语法如下图所示:
4.11.2 新建字典
# 新建一个空字典:
empty_dict = { }
新建一个存储个人信息的字典
# 新建一个字典
info_dict = { '姓名':'白敬亭','出生日期':'1993年10月15日'}
# 查看字典
info_dict
【终端输出】
{'姓名': '白敬亭', '出生日期': '1993年10月15日'}
上面的字典中有两个键值对,‘姓名’: '白敬亭’是第一个,‘出生日期’: '1993年10月15日’是第二个。
'姓名’是键,'白敬亭’是键的值。
4.11.3 增加键值对
语法:字典[键]=[值]
# 新建一个字典
info_dict = { '姓名':'白敬亭','出生日期':'1993年10月15日'}
# 增加一个键值对:身高188.8
info_dict['身高'] = 188.8
# 查看字典
info_dict
【终端输出】
{'姓名': '白敬亭', '出生日期': '1993年10月15日', '身高': 188.8}
4.11.4 删除键值对
语法:del 字典[键]
del 后有空格。
delete [dɪˈliːt]:删除。
# 新建一个字典
info_dict = { '姓名':'白敬亭','出生日期':'1993年10月15日'}
# 删除一个键值对:出生日期
del info_dict['出生日期']
# 查看字典
info_dict
【终端输出】
{'姓名': '白敬亭'}
4.11.5 值的修改
语法:字典[键]=[新值]
# 新建一个字典
info_dict = {'姓名': '白敬亭', '出生日期': '1993年10月15日', '身高': 188.8}
# 修改身高为180
info_dict['身高'] = 180
# 查看字典
info_dict
【终端输出】
{'姓名': '白敬亭', '出生日期': '1993年10月15日', '身高': 180}
4.11.6 字典值的提取
方法一:字典[键]
方法二:字典.get(键)
方法三:字典[键1][键2]
方法一:字典[键]
# 新建一个字典
info_dict = {
'基本情况':('白敬亭','男','1993年'),
'个人爱好':['健身','游泳'],
'联系方式':{'微信号码':'bjt77','电话号码':18087578757}
}
# 查看字典的个人爱好
info_dict['个人爱好']
【终端输出】
['健身', '游泳']
用info_dict[‘个人爱好’]就可以查看到字典键个人爱好的值健身、游泳。
方法二:字典.get(键)
# 新建一个字典
info_dict = {
'基本情况':('白敬亭','男','1993年'),
'个人爱好':['健身','游泳'],
'联系方式':{'微信号码':'bjt77','电话号码':18087578757}
}
# 查看字典的个人爱好
info_dict.get('个人爱好')
【终端输出】
['健身', '游泳']
方法三:字典[键1][键2]
# 新建一个字典
info_dict = {
'基本情况':('白敬亭','男','1993年'),
'个人爱好':['健身','游泳'],
'联系方式':{'微信号码':'bjt77','电话号码':18087578757}
}
# 查看微信号码
info_dict['联系方式']['微信号码']
【终端输出】
'bjt77'
字典的值也是字典,用字典[键1][键2]的方式取值。
4.11.7 键和值的数据类型
# 新建一个字典
info_dict = {
'基本情况':('白敬亭','男','1993年'),
'个人爱好':['健身','游泳'],
'联系方式':{'微信号码':'bjt77','电话号码':18087578757}
}
# 查看字典
info_dict
【终端输出】
{'基本情况': ('白敬亭', '男', '1993年'),
'个人爱好': ['健身', '游泳'],
'联系方式': {'微信号码': 'bjt77', '电话号码': 18087578757}}
上述字典中有3个键值对:
第一个键基本情况
的值为元组,小括号表示元组:
第二个键个人爱好
的值为列表,中括号表示列表;
第三个键联系方式
的值为字典,大括号表示字典。
字典中的键是不可变的数据类型,例如字符串;
字典中的值可以是任意数据类型。
大家可以自己编写代码测试。
4.11.7 总结
课后练习
创建一个包含下面内容的字典:
某年级有3个班,一班、二班、三班;
一班50人,平均分70分,最高分88,最低分66;
二班60人,平均分80分,最高分99,最低分77;
三班70人,平均分90分,最高分99,最低分88。