【人生苦短,我学 Python】基础篇——字典(Day10)

本文详细介绍了Python中的字典数据结构,包括字典的创建、访问值、遍历键值对、增加、删除和修改键值对。此外,还讲解了如何遍历字典的键、值以及使用内置函数进行操作。适合初学者掌握Python字典基本操作。
摘要由CSDN通过智能技术生成

写在前面:大家好!我是【AI 菌】,一枚爱弹吉他的程序员。我热爱AI、热爱分享、热爱开源! 这博客是我对学习的一点总结与记录。如果您也对 深度学习、机器视觉、算法、Python、C++ 感兴趣,可以关注我的动态,我们一起学习,一起进步~
我的博客地址为:【AI 菌】的博客
我的Github项目地址是:【AI 菌】的Github

-> 前往【人生苦短,我学 Python】总目录 <-

一、字典

(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()返回一个字典的浅复制

-> 回到【人生苦短,我学 Python】总目录 <-

在这里插入图片描述
由于水平有限,博客中难免会有一些错误,有纰漏之处恳请各位大佬不吝赐教!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

AI 菌

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

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

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

打赏作者

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

抵扣说明:

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

余额充值