Python集合类型详解

2024-11-08 4

我们在学习数学的时候学过集合这个概念,在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
{123456}

       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
{12345}
>>> k
{12345}
>>> i
{12345}

2. 清空集合

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

1
del my_set

3. 添加元素

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

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

1
my_set.add(x)

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

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

4. 删除元素

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

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

看下面实例:

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

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