自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm=1001.2014.3001.5501
Python中的集合同数学中的集合概念类似,也是用于保存不重复元素的。它有可变集合(set)和不可变集合(frozenset)两种。本节所要介绍的可变集合是无序可变序列,而不可变集合在本书中不做介绍。在形式上,集合的所有元素都放在一对“{}”中,两个相邻元素间使用“,”分隔。集合最好的应用就是去掉重复元素,因为集合中的每个元素都是唯一的。
说明:在数学中,集合的定义是把一些能够确定的不同的对象看成一个整体,而这个整体就是由这些对象的全体构成的集合。集合通常用“{}”或者大写的拉丁字母表示。
集合最常用的操作就是创建集合,以及集合的添加、删除、交集、并集和差集等运算,下面分别进行介绍。
在Python中提供了两种创建集合的方法:一种是直接使用“{}”创建,另一种是通过set()函数将列表、元组等可迭代对象转换为集合。这里推荐使用第二种方法。
(1)直接使用“{}”创建集合
在Python中,创建set集合也可以像列表、元组和字典一样,直接将集合赋值给变量从而实现创建集合,即直接使用“{}”创建。语法格式如下:
setname = {element 1,element 2,element 3,…,element n}
参数说明:
l setname:表示集合的名称,可以是任何符合Python命名规则的标识符。
l element 1,element 2,element 3,…,element n:表示集合中的元素,个数没有限制,只要是Python支持的数据类型就可以。
注意:在创建集合时,如果输入了重复的元素,Python会自动只保留一个。
例如,有如下代码:
set1 = {'水瓶座','射手座','双鱼座','双子座'}
set2 = {3,1,4,1,5,9,2,6}
set3 = {'Python', 28, ('人生苦短', '我用Python')}
这段代码将创建以下集合:
{'水瓶座', '双子座', '双鱼座', '射手座'}
{1, 2, 3, 4, 5, 6, 9}
{'Python', ('人生苦短', '我用Python'), 28}
说明:由于Python中的set集合是无序的,所以每次输出时元素的排列顺序可能都不相同。
场景模拟:某大学的学生选课系统,可选语言有Python和C语言。现创建两个集合分别保存选择Python语言的学生姓名和选择C语言的学生姓名。
实例12 创建保存学生选课信息的集合
在IDLE中创建一个名称为section_create.py的文件,然后在该文件中,定义两个包括4个元素的集合,再输出这两个集合,代码如下:
python = {'绮梦','冷伊一','香凝','梓轩'} # 保存选择Python语言的学生姓名
c = {'冷伊一','零语','梓轩','圣博'} # 保存选择C语言的学生姓名
print('选择Python语言的学生有:',python,'\n') # 输出选择Python语言的学生姓名
print('选择C语言的学生有:',c) # 输出选择C语言的学生姓名
运行实例后,将显示如图29所示的结果。
图29 创建保存学生选课信息的集合
(2)使用set()函数创建
在Python中,可以使用set()函数将列表、元组等其他可迭代对象转换为集合。set()函数的语法格式如下:
setname = set(iteration)
参数说明:
l setname:表示集合名称。
l iteration:表示要转换为集合的可迭代对象,可以是列表、元组、range对象等,也可以是字符串。如果是字符串,返回的集合将是包含全部不重复字符的集合。
例如,有如下代码:
set1 = set("命运给予我们的不是失望之酒,而是机会之杯。")
set2 = set([1.414,1.732,3.14159,2.236])
set3 = set(('人生苦短', '我用Python'))
这段代码将创建以下集合:
{'不', '的', '望', '是', '给', ',', '我', '。', '酒', '会', '杯', '运', '们', '予', '而', '失', '机', '命', '之'}
{1.414, 2.236, 3.14159, 1.732}
{'人生苦短', '我用Python'}
从上面创建的集合结果中可以看出,在创建集合时,如果出现了重复元素,那么将只保留一个,如在第一个集合中的“是”和“之”都只保留了一个。
注意:在创建空集合时,只能使用set()实现,而不能使用一对“{}”实现,这是因为在Python中,直接使用一对“{}”表示创建一个空字典。
下面将实例12修改为使用set()函数创建保存学生选课信息的集合。修改后的代码如下:
python = set(['绮梦','冷伊一','香凝','梓轩']) # 保存选择Python语言的学生姓名
print('选择Python语言的学生有:',python,'\n') # 输出选择Python语言的学生姓名
c = set(['冷伊一','零语','梓轩','圣博']) # 保存选择C语言的学生姓名
print('选择C语言的学生有:',c) # 输出选择C语言的学生姓名
执行结果如下图所示。
说明:在Python中,创建集合时推荐采用set()函数实现。