【人生苦短,我学 Python】基础篇——字典(Day10)
【摘要】
写在前面:大家好!我是【AI 菌】,一枚爱弹吉他的程序员。我热爱AI、热爱分享、热爱开源! 这博客是我对学习的一点总结与记录。如果您也对 深度学习、机器视觉、算法、Python、C++ 感兴趣,可以关注我的动态,我们一起学习,一起进步~ 我的博客地址为:【AI 菌】的博客 我的Github项目地址是:【AI 菌】的Github
-> 前往【人生苦短,我...
写在前面:大家好!我是【AI 菌】,一枚爱弹吉他的程序员。我
热爱AI、热爱分享、热爱开源
! 这博客是我对学习的一点总结与记录。如果您也对深度学习、机器视觉、算法、Python、C++
感兴趣,可以关注我的动态,我们一起学习,一起进步~
我的博客地址为:【AI 菌】的博客
我的Github项目地址是:【AI 菌】的Github
一、字典
(1) 介绍字典
在 Python 中, 字典是由一系列的 键 — 值对 构成 。每个键都与一个值相关联,你可以使用键来访问与之相关联的值。在字典中,与键相关联的值可以是数字、字符串、列表乃至字典。事实上,可将任何 Python 对象用作字典中的值。
在字典中,每个键值对 key:value 用冒号 :
分隔,每个键值对之间用逗号,
分隔,整个字典包括在花括号 {}
中 ,格式如下所示:
dict = {key1 : value1, key2 : value2, key3 : value3}
除此之外,还需要注意的是,字典需严格遵循下面两条规则:
- 键必须是唯一的,但值则不必;
- 值可以取任何数据类型,但键必须是不可变的,只能取如字符串,数字等类型。
(2) 创建字典
1、可以先创建一个空字典,再往里加键和值,演示如下:
dict = {}
dict["name"] = "AI Jun"
dict["major"] = "Computer Vision"
dict["date"] = "2021/2/6"
print(dict)
输出如下:
{'name': 'AI Jun', 'major': 'Computer Vision', 'date': '2021/2/6'}
2、当然,也可以直接创建,演示如下:
dict = {'name': 'AI Jun', 'major': 'Computer Vision', 'date': '2021/2/6'}
print(dict)
输出结果:
{'name': 'AI Jun', 'major': 'Computer Vision', 'date': '2021/2/6'}
当然,也可以将键换成数字,如下所示:
dict1 = {1: 'AI Jun', 2: 'Computer Vision', 3: '2021/2/6'}
print(dict1)
输出结果:
{1: 'AI Jun', 2: 'Computer Vision', 3: '2021/2/6'}
(3) 访问字典
在Python中,我们可以根据键访问值,演示如下:
dict1 = {1: 'AI Jun', 2: 'Computer Vision', 3: '2021/2/6'}
print("dict1中1对应的值是:", dict1[1])
print("dict1中2对应的值是:", dict1[2])
print("dict1中3对应的值是:", dict1[3])
结果如下:
dict1中1对应的值是: AI Jun
dict1中2对应的值是: Computer Vision
dict1中3对应的值是: 2021/2/6
二、遍历字典
(1) 遍历所有的键值对
一般采用 for 循环来遍历整个字典。为了分别获取键和值,所以需要声明两个变量,用于存储键值对中的键和值。对于这两个变量,可使用任何名称。下面的代码使用的是key和value,如下所示:
dict = {1: 'AI Jun', 2: 'Computer Vision', 3: '2021/2/6'}
for key, value in dict.items(): print(key, value)
使用方法 items() 返回一个键值对列表。接下来, for 循环依次将每个键 — 值对存储到指定的两个变量中。输出如下:
1 AI Jun
2 Computer Vision
3 2021/2/6
注:即便遍历字典时,键值对的返回顺序也与存储顺序不同。 Python 不关心键值对的存储顺序,而只跟踪键和值之间的关联关系。
(2) 遍历字典中所有的键
当不需要使用字典中的值时,我们可以使用 方法keys() 遍历字典中所有的键,并将其一一打印出来,如下所示:
dict = {1: 'AI Jun', 2: 'Computer Vision', 3: '2021/2/6'}
for key in dict.keys(): print(key)
输出结果:
1
2
3
事实上,遍历字典时,会默认遍历所有的键。因此,上述代码中的 for key in dict.keys():
换成for key in dict:
,输出将不变。只是显式地使用方法 keys() 可让代码更容易理解。
注:使用方法title()可使首字母大写,这对于字符串类型的键有用。
(3) 遍历字典中所有的值
当只需要遍历字典中所有的值时,可使用方法 values() ,它返回一个值列表,而不包含任何键。使用方法如下:
dict = {1: 'AI Jun', 2: 'Computer Vision', 3: '2021/2/6'}
for key in dict.values(): print(key)
输出结果:
AI Jun
Computer Vision
2021/2/6
这种做法提取字典中所有的值,而没有考虑是否重复。涉及的值很少时,这也许不是问题,但如果数据很多,最终的列表可能包含大量的重复项。为剔除重复项,可使用集合set (集合类似于列表,但每个元素都必须是独一无二的)。使用方法如下所示:
dict = {1: 'AI Jun', 2: 'Computer Vision', 3: '2021/2/6', 4: 'AI Jun'}
for key in set(dict.values()): print(key)
程序输出:
AI Jun
Computer Vision
2021/2/6
注:通过方法set()将values()得到的值列表转换成了集合的形式
三、字典操作
(1) 增加键值对
字典是一种动态结构,可随时在其中添加键值对。演示如下:
dict = {1: 'AI Jun', 2: 'Computer Vision'}
dict[3] = '2021/2/6'
print(dict)
输出结果:
{1: 'AI Jun', 2: 'Computer Vision', 3: '2021/2/6'}
(2) 删除键值对
对于字典中不再需要的信息,可使用 del 语句将相应的键值对彻底删除。演示如下:
dict = {1: 'AI Jun', 2: 'Computer Vision', 3: '2021/2/6'}
del dict[1]
print(dict)
输出结果:
{2: 'Computer Vision', 3: '2021/2/6'}
(3) 修改字典中的值
要修改字典中的值,可依次指定字典名、用方括号括起的键以及与该键相关联的新值。演示如下:
dict = {1: 'AI Jun', 2: 'Computer Vision', 3: '2021/2/6'}
dict[2] = "AI"
print(dict)
输出结果:
{1: 'AI Jun', 2: 'AI', 3: '2021/2/6'}
四、内置函数
(1) Python内置函数
函数 | 描述 |
---|---|
len(dict) | 返回字典元素个数,即键值对的总数 |
str(dict) | 可以使输出字典以打印的字符串表示 |
(2) Python字典内置方法
函数 | 描述 |
---|---|
dict.items() | 以列表的形式返回可遍历的(键, 值) |
dict.keys() | 返回一个迭代器,可以使用 list() 来转换为列表 |
dict.values() | 返回一个迭代器,可以使用 list() 来转换为列表 |
dict.clear() | 删除字典内所有元素,得到的是一个空字典 |
dict.copy() | 返回一个字典的浅复制 |
由于水平有限,博客中难免会有一些错误,有纰漏之处恳请各位大佬不吝赐教!
文章来源: ai-wx.blog.csdn.net,作者:AI 菌,版权归原作者所有,如需转载,请联系作者。
原文链接:ai-wx.blog.csdn.net/article/details/113731004
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
作者其他文章
评论(0)