在线客服
扫描二维码
下载博学谷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实现各种NLP任务,创建基于真实生活应用的项目,掌握Python编程技巧。
8040
2019-09-27 11:25:41
零基础学习Python 基础知识入门篇
众所周知,Python是一门集优雅、明确和简单于一体的编程语言,近来随着Python语言在各个行业领域的广泛运用,Python的学习者是越来越多。本文为大家整理了零基础小白入门Python的必需要学习的一些基础知识,内容包括标识符、关键字、引号、编码、输入输出、缩进、多行、注释、数据类型等等。有学习需要的小伙伴赶紧看下去吧!
8265
2019-11-03 22:23:49
Lambda函数的语法结构解析
说到Lambda函数的语法结构,我想问大家一个问题,什么是Lambda表达式?众所周知,Lambda表达式是一个匿名函数,简单来讲就是没有函数名的函数,它还可以表示闭包。Lambda函数的出现简化了代码,它的语法结构可以这样写:(variable)->action。下面将详细为大家解析Lambda函数的语法结构,感兴趣的朋友可以接着看下去。
8112
2020-01-14 14:35:43
Python基础算法有哪些?作用是什么?
算法是解决问题的思想和实施步骤,而编程是算法的实现,把人的语言转换成某种的编程语言。常见内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。
6682
2021-04-09 14:08:31
入门Python基础知识点总结
Python基础入门主要学习变量,运算符,输入输出和条件以及循环语句,认识Python零基础入门Python开发,了解常用的Linux命令。熟练掌握Python的变量、输入输出、运算符、条件和循环语句,了解使用过常用linux命令。
5711
2021-06-09 16:55:44
