c++ 字典属于什么数据结构_Python专题 | (六)字典与集合

本文介绍了Python字典的创建、访问方式以及操作函数,强调了字典作为非序列数据结构的特点。此外,还简单提及了集合的概念,包括其唯一性和无序性的特点,并展示了如何检查元素是否存在集合中。
摘要由CSDN通过智能技术生成
小伙伴们,大家好啊,欢迎回到我们的Python专题。 今天我们主要讲述的是高级数据结构剩下的两种:字典(dict)和集合(set)。集合在初始阶段使用的情况不多,主要用于列表的去重。而字典则是Python强大的数据处理工具之一。下面我们开始今天的内容。
一、字典 字典不属于我们上一篇文章提到的序列,它具有自己独特的风格。字典的 本质是无序的键值对 。无序,也就是说它不具备下标,不能依靠索引进行数据的访问。键值对是字典独有的一种存储形式,形如“ key:value  ”。字典中的数据都是以键值对的形式存储的 字典的表现形式一般为大括号内包含若干个键值对,键值对之间使用逗号分隔。字典中 每一个value对应一个key, key不可以相同,而value可以相同 。
# 字典a={'name':'Mark','age':12}b={'a':1,'b':2}
以上两种数据结构都是字典,注意观察大括号内的数据存储形式,冒号前的是“键”,冒号后面的是“值”,两者组成了键值对。 创建字典可以使用两种方式:“ 变量={} ”或“ 变量=dict() ”。这两种方式都能创建一个空字典。
# 创建字典a={}b=dict()c=dict(a=1,b=2)print(c) # {'a': 1, 'b': 2}d=dict([('a',1),('b',2)])print(d) # {'a': 1, 'b': 2}

以上方式中,第四、六行是创建非空字典的方式,dict()函数内使用赋值语句或列表等其他类型的数据指明键值对的对应,即可在字典b中创建对应的键值对。

对字典中的数据访问不能再使用索引的方式,字典没有下标,访问其中的数据需要通过“键”来访问。

其主要形式为:字典名称[键],即通过键访问值。

a={'name':'Mark','age':12}# 访问某个键的值print(a['name']) # Mark# 输出整个字典print(a) # {'name': 'Mark', 'age': 12}

字典的类型转换与其他数据类型相同,使用dict()函数即可。

字典有比较多的操作函数,通过这些函数,可以灵活的对字典中的数据进行各种操作。使用方法与列表的相类似,将目标列表修改为目标字典即可。

1ab458ee289b7bb1f19291e8bc81d12e.png

8b61b8d55a00e42f42907fcab85ca852.png

字典排序可以使用sorted()函数,但是这种方法比较麻烦,快捷的方式要使用到lambda表达式,这是函数中的内容,放到函数中进行讲述。遍历字典也是非常重要的一部分。要使用一个临时变量获取字典中的每一个键,然后根据键对字典中的值进行访问。 标准写法如下:
# 创建字典a={'name': 'Mark',   'age': 12}# 临时变量keyfor key in a:    print(key,a[key])# name Mark# age 12

字典的相关操作就到这里。字典不同于其他的数据结构,需要特殊记忆,它也是python中的一个重点。

思维导图如下:

8aad47682c66e1c4b7faf6c1d4c0d988.png

思维导图中包含了字典排序的写法,使用了sorted()函数和lambda表达式,可以先独立研究一下。
二、集合

集合是初学阶段不太重要的部分,了解即可。

集合不属于序列,它主要有两个特点,一是集合中元素具有唯一性,二是集合中元素具有无序性,这与数学中的集合概念相类似。

集合的表现形式是大括号内存储多个不重复的数据项,每项之间使用逗号隔开。集合内的数据类型不要求统一,可以包含多种类型。

# 集合a={'a','b','c','d'}b={12,'5','abccd'}
创建一个集合可以使用“ 变量=set() ”或者“ 变量={} ”创建,当使用大括号创建一个集合时,一定要在括号内填上对应的内容,否则会直接创建一个空字典。集合类型转换使用set()函数,括号内填上要转换的内容。
# 创建集合a=set()b={'a',12,'abc'}
集合也有一些操作函数,使用方式与列表的相同,将目标列表更改为目标集合即可。下面展示常用的部分操作函数。

ea3fdc97b6c09a88dc16fadf5c90639f.png

9a59d18286626c8e8dd45e922d141a7f.png

这里要注意,由于集合具有无序性,每次运行程序数据项的顺序一般会改变,但是数据项的内容不会改变,这就是集合无序性的体现。集合对于初学阶段最重要的作用就是列表去重,这个操作其实非常简单,一行代码即可搞定。
list(set(目标列表))
举例如下:

4b91aff122040db00ab8ac3764934c3e.png

列表去重看上去简单,但它是很多重要应用不可缺少的操作。爬虫爬下来的网络数据、人工智能的中间数据等等,去除其中的重复数据能带来更方便的后续操作。
三、两个简单的方法 1. 复制操作

使用“ * ”号可以控制输出的数量,使用“ 输出数据*n ”,即可输出n次相关输出数据。

2. 查看对象是否存在

有时我们想查看某个数据是否存在于序列、字典或者集合中,就可以使用关键字“ in ”进行查看,它会返回一个bool类型的值,查看该值即可确认。

1f7b50f7078d338c0c05d6f99af81405.png


总结

本篇主要讲述了字典和集合的相关概念、创建方式和常用的操作方法,还有两个简单的技巧。内容不是很多,但是要认真掌握。

欢迎大家留言哦~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值