我们在学习数学的时候学过集合这个概念,在Python中同样存在一种名叫集合的数据类型,它也是用来保存不重复的元素,简单的说,集合就是包含了一些唯一存在的元素。
元素有以下几个特性:
1) 无序性,集合中保存的元素是没有顺序的。
2) 多样性,集合中可以保存多种数据类型的元素。
3) 唯一性,集合中的元素都是唯一存在的,不会重复出现。
1. 创建集合
在创建集合的时候有2种方式,一种是直接使用集合的特征符号‘{}’来创建,一种是使用set()函数强制类型转换来创建。
1) 直接创建
首先我们要知道集合和字典的区别,集合是由‘{}’括起来的结构,每个元素之间用‘,’隔开,
集合和字典都是用大括号括起来,但是集合之间不使用冒号。
集合的结构为:
1 | my_set = {元素 1 ,元素 2 ,元素 3 } |
my_set为要创建的集合名,括号内的为集合中的元素。
1 2 3 | >>> my_set = { 1 , 2 , 3 , 4 , 5 , 6 } >>> my_set { 1 , 2 , 3 , 4 , 5 , 6 } |
2) 使用set()函数强制类型转换创建
使用set()可以直接创建一个空集合,也可以将其他类型的结构直接转换为集合。
1 | my_set = set (iteration) |
my_set为要创建的集合名,set()函数为强制类型转换,iteration是一个可迭代对象,它可以是元组、列表或range对象。
1 2 3 4 5 6 7 8 9 10 11 12 | >>> 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()方法可以直接删除整个集合,语法格式为:
1 | del my_set |
3. 添加元素
集合是可变序列,因此我们可以对其中的元素进行增删操作。
添加元素使用add()方法,语法格式如下:
1 | my_set.add(x) |
my_set为集合名,x为要插入的元素。
1 2 3 4 5 | >>> 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()方法直接清空了集合中的所有元素。
看下面实例:
1 2 3 4 5 6 7 8 | >>> 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()方法强制类型转换可以很方便的删除多余的元素,下一章我们学习一下集合的交集、并集和差集。