我们在学习数学的时候学过集合这个概念,在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()方法强制类型转换可以很方便的删除多余的元素,下一章我们学习一下集合的交集、并集和差集。
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程