微信公众号:「Python读数」
如有问题或建议,请公众号留言
Python基础入门的第三篇文章,为大家介绍Python中的字典及其常见的操作。
字典(dict)
字典也是用来存储数据的,只是存储方式和之前介绍的列表和元组不一样,先看看Python中字典的格式
dict = {"key":"value", "key_1":"value_1"}
key
是键,value
是值,'key':'value'
被称为一个键值对,根据提供的键找到对应的值,具体的映射关系如下:
说起字典这个词,大家肯定会联想到日常使用中的字典,其实Python中字典(dict)的工作原理和我们平时查字典是类似的。怎么理解呢?下面给大家来一波图解。
现在我们有一本字典,它长这样
如果我们需要找一个单词,第一件事情应该是翻到目录页,找到这个词对应拼音的页码,然后根据页码去找这个词。
将字典中的页码和目标词对应到Python的字典中,是这样的
上述的拼音和页码的对应关系可以写成下面这种格式
xinhua_dict = {'pang':201}
在这里pang
就是字典中的键,201
就是对应的值。
当然字典的使用方式很灵活,一个字典可以用于存储一个人的各种信息,包括年龄、职业、姓名、身高和体重,也可以用于存储一个学生的各科成绩。日常的使用中,一般使用字符串或数值作为字典的键,值则可以是任意的数据类型,可以是数值,可以是字符串,还可以是列表、元组以及其他数据类型。但需要注意,字典中的key
是不能重复的。
people = {'体重':120, '身高':170, '姓名':'小明', '职业':'数据分析师', '年龄':28}fruit = {'颜色':'red', '种类':'apple','重量':0.5}score = {'语文':90, '数学':100, '英语':80}
相信通过上面的解释,大家可以基本了解了字典的工作原理,总的来说,字典也是一个数据容器,它可以根据指定的键
迅速找到对应的值
,下面来看一些字典的基本操作。
访问字典中的元素
访问字典中元素的方式和之前介绍过的访问列表元素的用法类似,都是利用[]
进行访问,只不过对列表而言,[]
中指定的是索引,而字典中[]
中指定的是key
In [1]: movie_score = {...: '肖申克的救赎':9.7,...: '霸王别姬': 9.6,...: '阿甘正传': 9.5,...: '泰坦尼克号': 9.4 }In [2]: movie_score['阿甘正传']Out[2]: 9.5
往字典中添加键值对
在字典中,可以随时添加键值对,格式为dict[key] = value
,key
需要为新键
In [3]: movie_score['我不是药神'] = 9.0In [4]: movie_scoreOut[4]: {'肖申克的救赎': 9.7, '霸王别姬': 9.6, '阿甘正传': 9.5, '泰坦尼克号': 9.4, '我不是药神': 9.0}
修改字典中的值
写法:dict[key] = value
,这里的key
是字典中已有的键
In [5]: movie_score['阿甘正传'] = 9.6In [6]: movie_scoreOut[6]: {'肖申克的救赎': 9.7, '霸王别姬': 9.6, '阿甘正传': 9.6, '泰坦尼克号': 9.4, '我不是药神': 9.0}
删除键值对
写法:del dict[key]
In [5]: del movie_score['我不是药神']In [6]: movie_scoreOut[6]: {'肖申克的救赎': 9.7, '霸王别姬': 9.6, '阿甘正传': 9.6, '泰坦尼克号': 9.4}
查看字典的长度
写法:len(dict)
In [7]: len(movie_score)Out[7]: 4
以元组的形式返回字典中的数据
写法:dict.items()
In [8]: movie_score.items()Out[8]: dict_items([('肖申克的救赎', 9.7), ('霸王别姬', 9.6), ('阿甘正传', 9.6), ('泰坦尼克号', 9.4)])# 转换为列表In [10]: list(movie_score.items())Out[10]: [('肖申克的救赎', 9.7), ('霸王别姬', 9.6), ('阿甘正传', 9.6), ('泰坦尼克号', 9.4)]
得到字典中所有的键
写法:dict.keys()
In [11]: movie_score.keys()Out[11]: dict_keys(['肖申克的救赎', '霸王别姬', '阿甘正传', '泰坦尼克号'])
得到字典中所有的值
写法:dict.keys()
In [12]: movie_score.values()Out[12]: dict_values([9.7, 9.6, 9.6, 9.4])
练习题
1、生成一个空字典
2、将{'肖申克的救赎': 9.7, '霸王别姬': 9.6, '阿甘正传': 9.6, '泰坦尼克号': 9.4, '我不是药神': 9.0}
中的键值对一个一个加入到空字典中
3、往字典中添加你喜欢的电影和你的打分
4、去掉霸王别姬
相关信息
4、打印字典中所有的键
5、打印字典中所有的值
扫码关注公众号「Python读数」,第一时间获取干货,还可以加Python学习交流群!!