在线客服
扫描二维码
下载博学谷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之安装Anaconda
对于许多才入门Python的朋友来说,学习Python的第一件事情,就是安装Anaconda。可能有些小白会问了:什么是Anaconda?简单来讲Anaconda其实是包管理器、环境管理器,它是目前数据分析的标准环境。至于为什么学习Python要安装Anaconda?下面我将详细为大家解答这个问题,同时还会手把手教大家从零开始安装Anaconda。
7163
2019-12-19 15:08:33
Python基础语法之学习print()函数
在AI+时代,编程已不是程序猿、攻城狮的专属属性,而是一个工具,或是一种技巧,本质上跟Word、PPT没啥区别。如果大家现在想掌握一门编程技能的话,那一定是 Python, 因为它既简洁高效,又能快速入门上手。本文将从Python基础语法中的print()函数开始学习,带领大家轻松入门Python。
7284
2020-04-15 12:34:52
参加Python培训需要多少钱?
相对于自学,参加培训班必然需要支付一定的学习费用。那就目前Python培训市场而言,参加培训需要多少钱呢?
8179
2020-05-15 18:19:45
处理多个异常的三大方法
大部分Python初学者可能还不会处理多个异常,本文将向大家展示一下处理多个异常的三大方法。一种是把所有可能发生的一场都放在一个元组里,第二种是对每个单独的异常在单独的except语句块中处理,第三种方法会捕获所有异常。下面一起来看看具体的处理方法吧!
7468
2020-06-30 10:02:25
Python核心编程在线学习
Python核心编程在线学习的主要内容有:程序的输出、程序的输入、注释、操作符、变量和赋值、数字、字符串、列表和元组、字典、代码块及缩进对齐、if语句、while循环、文件和内建函数open()、file(),以及模块。赶紧一起来学习和梳理Python核心编程的相关内容吧!
7202
2020-07-13 16:58:47
