我们在学习数学的时候学过集合这个概念,在Python中同样存在一种名叫集合的数据类型,它也是用来保存不重复的元素,简单的说,集合就是包含了一些唯一存在的元素。

元素有以下几个特性:

1) 无序性,集合中保存的元素是没有顺序的。

2) 多样性,集合中可以保存多种数据类型的元素。

3) 唯一性,集合中的元素都是唯一存在的,不会重复出现。

1. 创建集合

在创建集合的时候有2种方式,一种是直接使用集合的特征符号‘{}’来创建,一种是使用set()函数强制类型转换来创建。

       1) 直接创建

首先我们要知道集合和字典的区别,集合是由‘{}’括起来的结构,每个元素之间用‘,’隔开,

集合和字典都是用大括号括起来,但是集合之间不使用冒号。

集合的结构为:

my_set = {元素1,元素2,元素3}

my_set为要创建的集合名,括号内的为集合中的元素。

>>> my_set = {1,2,3,4,5,6}
>>> my_set
{1, 2, 3, 4, 5, 6}

       2) 使用set()函数强制类型转换创建

使用set()可以直接创建一个空集合,也可以将其他类型的结构直接转换为集合。

my_set = set(iteration)

my_set为要创建的集合名,set()函数为强制类型转换,iteration是一个可迭代对象,它可以是元组、列表或range对象。

>>> m = set('12345')#强制转换字符串
>>> n = set([1,2,3,4,5])#强制转换列表
>>> k = set(range(1,6))#强制转换range()对象
>>> i = set((1,2,3,4,5))#强制转换元组
>>> m
{'4', '3', '5', '1', '2'}
>>> n
{1, 2, 3, 4, 5}
>>> k
{1, 2, 3, 4, 5}
>>> i
{1, 2, 3, 4, 5}

2. 清空集合

在学习增添和删除元素之前我们可以回忆一下del()方法,del()方法可以直接删除整个集合,语法格式为:

del my_set

3. 添加元素

集合是可变序列,因此我们可以对其中的元素进行增删操作。

添加元素使用add()方法,语法格式如下:

my_set.add(x)

my_set为集合名,x为要插入的元素。

>>> my_set#插入前
{1, 2, 3, 4, 5, 6}
>>> my_set.add('插入一个新元素x')
>>> my_set#插入后
{1, 2, 3, 4, 5, 6, '插入一个新元素x'}

4. 删除元素

删除元素可以使用集合的pop()方法或者remove()方法去删除一个元素,也可以使用clear()方法去清空集合。

需要注意的是remove()方法是移除指定元素,而pop()方法是直接删除集合中的第一个元素并输出,clear()方法直接清空了集合中的所有元素。

看下面实例:

>>> my_set{1, 2, 3, 4, 5, 6, '插入一个新元素x'}
>>> my_set.pop()#会删除并输出第一个元素1
>>> my_set{2, 3, 4, 5, 6, '插入一个新元素x'}
>>> my_set.remove(6)#直接指定删除6
>>> my_set{2, 3, 4, 5, '插入一个新元素x'}
>>> my_set.clear()#清空集合
>>> my_set#打印结果显示为一个空集合
set()

集合的使用方法有很多,我们在做题的过程中,如果要删除列表中的重复元素,采用set()方法强制类型转换可以很方便的删除多余的元素,下一章我们学习一下集合的交集、并集和差集。


点赞(0)

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Dotcpp在线编译      (登录可减少运行等待时间)