![Python编程基础与应用](https://wfqqreader-1252317822.image.myqcloud.com/cover/854/41309854/b_41309854.jpg)
上QQ阅读APP看书,第一时间看更新
2.6.1 集合及其创建
集合(set)和数学中的集合概念一样,是一组无序的不同元素的集合。它有可变集合(set())和不可变集合(frozenset())两种。
从形式上看,和字典类似,集合会将所有元素放在一对大括号“{}”中,相邻元素之间用“,”分隔,如下所示:
![](https://epubservercos.yuewen.com/F38A38/21511156801516706/epubprivate/OEBPS/Images/81_04.jpg?sign=1739532032-yk3Kf9uulqqG4I0Xr01RSsECy5bWPb7C-0-698a3d32606f7f184aef108e68a96d5c)
其中,elementn表示集合中的元素,个数没有限制。
从内容上看,同一集合中,只能存储不可变的数据类型,包括整型、浮点型、字符串、元组,无法存储列表、字典、集合这些可变的数据类型,否则Python解释器会给出TypeError错误。
Python提供了两种创建集合的方法,分别是使用“{}”创建和使用set()函数将列表、元组等类型数据转换为集合。
1.使用“{}”创建
在Python中,创建集合可以像列表、元素和字典一样,直接将集合赋值给变量,从而实现创建集合的目的,其语法格式如下:
![](https://epubservercos.yuewen.com/F38A38/21511156801516706/epubprivate/OEBPS/Images/81_05.jpg?sign=1739532032-LXDzK9v3kAm6jpv3udozaSwYeRi4vYFn-0-83b4df63fd53880e300d8102637940f7)
其中,setname表示集合的名称,起名时既要符合Python命名规范,也要避免与Python内置函数重名。
【例2-59】 用“{}”创建集合。
![](https://epubservercos.yuewen.com/F38A38/21511156801516706/epubprivate/OEBPS/Images/82_01.jpg?sign=1739532032-WkJr3bJRASimP98IP395bOqpwcZze5QT-0-41c6f6cf87f37e76c44201e59088470a)
运算结果:
![](https://epubservercos.yuewen.com/F38A38/21511156801516706/epubprivate/OEBPS/Images/82_02.jpg?sign=1739532032-VsoACwX5p0EFHjcUR8VKnX6iwzA48Weu-0-c0c702afe3a483d5f56fa77090b5855b)
2.set()函数创建集合
set()函数为Python的内置函数,其功能是将字符串、列表、元组、range对象等可迭代对象转换成集合。该函数的语法格式如下:
![](https://epubservercos.yuewen.com/F38A38/21511156801516706/epubprivate/OEBPS/Images/82_03.jpg?sign=1739532032-u2XrgBznTO35Mf3zr8Aua95YvI3XsAQE-0-404806ebda3d7f12d951333186f362a1)
其中,iteration表示字符串、列表、元组、range对象等数据。
【例2-60】 用set()函数创建集合。
![](https://epubservercos.yuewen.com/F38A38/21511156801516706/epubprivate/OEBPS/Images/82_04.jpg?sign=1739532032-MXHkphsqHiE6DFlg78a9aVZVrl9AvJcE-0-8ab730add38178b3f1eb0ad4be3e29e3)
运算结果:
![](https://epubservercos.yuewen.com/F38A38/21511156801516706/epubprivate/OEBPS/Images/82_05.jpg?sign=1739532032-gy1BoRqcLIeVRawJrT4DHhjwEGYw2xXB-0-293ac11d34e57badba98d5e5f794481a)
本例运行第二次后,发现集合的排序又发生变化了,这就验证了集合无序的特点。
需要注意的是,如果要创建空集合,只能使用set()函数实现。因为直接使用一对“{}”,Python解释器会将其视为一个空字典。