在线客服
扫描二维码
下载博学谷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数据结构基础学习笔记,大家都掌握了吗?更多学习干货,尽在博学谷资讯。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
为什么要使用Redis?Redis大解析
为什么要使用Redis?其实是因为Redis是一个性能强劲且具有复制特性的远程内存数据库,它的数据模型更是为解决问题而生。下面小编来详细解析一下Redis。
7187
2019-07-31 12:49:04
2019年Python学习路线及学习目标规划拿走不谢
2019年Python学习路线及学习目标规划拿走不谢,Python作为今年来特别受欢迎的编程语言,是AI时代头牌语言AI领域的敲门砖,Python已经入驻小学生教材,将来不学Python不仅知识会脱节与小朋友都没共同话题了,作为程序员的我们,必须给自己增加一项技能,提高职场竞争力,掌握一定的Python技能。
7370
2019-09-27 15:18:28
学习Python比较好的书籍推荐
近些年来,Python的热度一直处于上升阶段,到目前为止,Python已经成为和Java一样备受编程爱好者追捧的编程语言。因此越来越多的人都选择学习Python,只是很多人由于缺乏编程基础,不知道怎么开始学习Python。下面我将为大家推荐一些比较好的经典学习书籍,各种难易程度都有,大家可以选择适合自己的进行阅读学习~
6155
2020-05-29 16:28:21
CSS 选择器的种类有哪些?怎么用?
CSS 选择器的种类有标签选择器、类选择器、层级选择器(后代选择器)、id选择器、组选择器、伪类选择器,作为程序员应该具备根据不同的场景选择适合的CSS选择器。
2898
2021-12-09 15:39:55
MySQL中索引如何使用?有哪些优缺点?
MySQL中索引如何使用?有哪些优缺点?索引在MySQL中叫做“键”,当数据库中数据量很大时查找数据很慢,我们就可以通过索引来提高数据库的查询效率。
3266
2022-02-11 13:52:24