在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
set又叫集合,它是⼀个十分重要的数据结构。它行为与数据结构列表数据结构相似,不同之处在于区别在于set包含重复的值。下面我们一起来看看set数据结构的概念、使用场景以及数学运算,总结梳理一下set数据结构的基础学习笔记。
1、set数据结构的概念
set(集合)是一组无重复无序的数据,就像数学中集合的概念。它没有标准的括号包裹,[]表示list,()表示tuple,{}表示dict。但是我们可以用带值的大括号来定义。set数据结构最大的作用就是去除重复的元素,如下所示:
set1 = {1, 2, 2, 3, 3, 3}
print(set1)
set1.add(1)
set1.add(4)
print(set1)
2、使用场景
set数据结构在很多情况下⾮常有⽤,例如你可能想检查列表中是否包含重复的元素,你有两个选择,第⼀个需要使⽤for循环,就像这样:
some_list = ['a', 'b', 'c', 'b', 'd', 'm', 'n', 'n']
duplicates = []
for value in some_list:
if some_list.count(value) > 1:
if value not in duplicates:
duplicates.append(value)
print(duplicates)
### 输出: ['b', 'n']
但还有⼀种更简单更优雅的解决⽅案,那就是使⽤集合(sets),直接这样做:
some_list = ['a', 'b', 'c', 'b', 'd', 'm', 'n', 'n']
duplicates = set([x for x in some_list if some_list.count(x) > 1]) print(duplicates)
### 输出: set(['b', 'n'])
3、数学运算
(1)交集
你可以对⽐两个集合的交集(两个集合中都有的数据),如下:
valid = set(['yellow', 'red', 'blue', 'green', 'black']) input_set = set(['red', 'brown'])
print(input_set.intersection(valid))
### 输出: set(['red'])
(2)差集
你可以⽤差集(difference)找出⽆效的数据,相当于⽤⼀个集合减去另⼀个集合的数据,例如:
valid = set(['yellow', 'red', 'blue', 'green', 'black']) input_set = set(['red', 'brown'])
print(input_set.difference(valid))
### 输出: set(['brown'])
(3)用符号
a_set = {'red', 'blue', 'green'}
print(type(a_set))
### 输出: <type 'set'>
以上就是set数据结构基础学习笔记,大家都掌握了吗?更多学习干货,尽在博学谷资讯。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
为什么越来越多的人学Python?
为什么越来越多的人开始学习Python?在互联网技术以及市场的推动下,人工智能以及数据科学成为各大企业抢夺的未来市场,而Python编程语言在两个热门方向上有非常广泛的应用。越来越多的同学开始学习Python,不仅仅是因为市场趋势发展需要,同时与Python的语言特点、应用范围密切相关的。
3930
2019-11-28 18:23:52
Python中的函数与变量讲解
不知道大家在学习Python的时候,有没有发现一个问题,函数里边的变量和脚本里边的变量好像是无关的。本文今天要讲的就是Python中的函数与变量,如果大家对于这个方面的内容有困惑,不妨来一起学习一下这个Python的基础内容。
3825
2020-04-29 09:46:23
Python真实应用案例
Python的应用范围非常广泛,在自动化、人工智能、Web开发、软件开发、数据科学、数据分析等领域都非常出色。这里主要和大家分享一下Python的一些真实应用案例。对于Python真实应用案例最直观而且目前已经非常成熟的领域属于Web开发和软件开发。下面就系列剧一些比较有名的网站或应用。
5500
2020-05-15 17:46:23
怎样学习Python
应该如何学习Python呢?买一本书、找一套视频、报名一个培训班?从理论上来讲,无论选择哪种学习方式,都可以掌握Python语言,但实际情况而言,总会因为某些原因导致自己的学习计划搁浅。所以在这里整理本片文章,希望本文能为大家的学习节约更多的时间成本。
3794
2020-05-15 18:06:36
入门Python学习难吗?怎样规划学习路线?
入门Python学习难吗?怎样规划学习路线?Python是一种跨平台的计算机程序设计语言。Python现在在各个邻域都有十分广泛的应用,在近几年的上升趋势十分明显,未来的发展前景也十分广阔。Python入门不难,但入门后不断学习是十分重要的,相对来说较为漫长。
3937
2020-06-08 11:17:25