Python小白零基础入门 —— 字典

最近一直在忙论文,好久没更新文章了,Python基础入门的第三篇文章,为大家介绍Python中的字典及其常见的操作。

字典
字典也是用来存储数据的,只是存储方式和之前介绍的列表和元组不一样,先看看Python中字典的格式:


dict = {"key":"value", "key_1":"value_1"}

key是键,value是值,'key':'value'被称为一个键值对,根据提供的键找到对应的值,具体的映射关系如下:
Python小白零基础入门 —— 字典-LMLPHP
k.v.png
说起字典这个词,大家肯定会联想到日常使用中的字典,其实Python中字典(dict)的工作原理和我们平时查字典是类似的。怎么理解呢?下面给大家来一波图解。


现在我们有一本字典,它长这样
Python小白零基础入门 —— 字典-LMLPHP

如果我们需要找一个单词,第一件事情应该是翻到目录页,找到这个词对应拼音的页码,然后根据页码去找这个词。
Python小白零基础入门 —— 字典-LMLPHP

将字典中的页码和目标词对应到Python的字典中,是这样的
Python小白零基础入门 —— 字典-LMLPHP
上述的拼音和页码的对应关系可以写成下面这种格式

xinhua_dict = {'pang':201}

在这里pang就是字典中的键,201就是对应的值。

当然字典的使用方式很灵活,一个字典可以用于存储一个人的各种信息,包括年龄、职业、姓名、身高和体重,也可以用于存储一个学生的各科成绩。

日常的使用中,一般使用字符串或数值作为字典的键,值则可以是任意的数据类型,可以是数值,可以是字符串,还可以是列表、元组以及其他数据类型。但需要注意,字典中的key是不能重复的。

people = {'体重':120, '身高':170, '姓名':'小明', '职业':'数据分析师', '年龄':28}
fruit = {'颜色':'red', '种类':'apple','重量':0.5}
score = {'语文':90, '数学':100, '英语':80}

相信通过上面的解释,大家可以基本了解了字典的工作原理,总的来说,字典也是一个数据容器,它可以根据指定的键迅速找到对应的值,下面来看一些字典的基本操作。

1.访问字典中的元素

访问字典中元素的方式和之前介绍过的访问列表元素的用法类似,都是利用[]进行访问,只不过对列表而言,[]中指定的是索引,而字典中[]中指定的是key

In [1]: movie_score = {
   ...: '肖申克的救赎':9.7,
   ...: '霸王别姬': 9.6,
   ...: '阿甘正传': 9.5,
   ...: '泰坦尼克号': 9.4 }

In [2]: movie_score['阿甘正传']
Out[2]: 9.5

2.往字典中添加元素

在字典中,可以随时添加键值对,格式为dict[key] = value,key需要为新键

In [3]: movie_score['我不是药神'] = 9.0

In [4]: movie_score
Out[4]: {'肖申克的救赎': 9.7, '霸王别姬': 9.6,
         '阿甘正传': 9.5, '泰坦尼克号': 9.4,
         '我不是药神': 9.0}

3.修改字典中的值

写法:dict[key] = value,这里的key是字典中已有的键

In [5]: movie_score['阿甘正传'] = 9.6

In [6]: movie_score
Out[6]: {'肖申克的救赎': 9.7, '霸王别姬': 9.6,
         '阿甘正传': 9.6, '泰坦尼克号': 9.4,
         '我不是药神': 9.0}

4.删除键值对

写法:del dict[key]

In [5]: del movie_score['我不是药神']

In [6]: movie_score
Out[6]: {'肖申克的救赎': 9.7, '霸王别姬': 9.6,
         '阿甘正传': 9.6, '泰坦尼克号': 9.4}

5.查看字典的长度

写法:len(dict)

In [7]: len(movie_score)
Out[7]: 4

6.以元组的形式返回字典中的数据

写法: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)]

7.得到字典中所有的键

写法:dict.keys()

In [11]: movie_score.keys()
Out[11]: dict_keys(['肖申克的救赎', '霸王别姬', '阿甘正传', '泰坦尼克号'])

7.得到字典中所有的值

写法:dict.values()

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.去掉霸王别姬相关信息

5,打印字典中所有的键

6.打印字典中所有的值

猜您喜欢
往期精选▼

  1. Python小白零基础入门 —— 变量及简单的数据类型
  2. Python小白零基础入门 —— 列表和元组

关注我们
Python小白零基础入门 —— 字典-LMLPHP

1529321439513643.jpg
公众号:Python读数
一个记录成长的公众号
我知道你 ”在看“ ,拜谢各位老铁。


08-31 07:59