![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=1738842537-hzOobZ6EqDvSXrrisFeVaFBvqCG25jan-0-29afa7fcc78705deaa921191dcbf8fe7)
其中,elementn表示集合中的元素,个数没有限制。
从内容上看,同一集合中,只能存储不可变的数据类型,包括整型、浮点型、字符串、元组,无法存储列表、字典、集合这些可变的数据类型,否则Python解释器会给出TypeError错误。
Python提供了两种创建集合的方法,分别是使用“{}”创建和使用set()函数将列表、元组等类型数据转换为集合。
1.使用“{}”创建
在Python中,创建集合可以像列表、元素和字典一样,直接将集合赋值给变量,从而实现创建集合的目的,其语法格式如下:
![](https://epubservercos.yuewen.com/F38A38/21511156801516706/epubprivate/OEBPS/Images/81_05.jpg?sign=1738842537-LotIUAiSyQHikkcyOL2fOmjq2WymvHc8-0-5764fc9edffe3623c64cd05626c11c39)
其中,setname表示集合的名称,起名时既要符合Python命名规范,也要避免与Python内置函数重名。
【例2-59】 用“{}”创建集合。
![](https://epubservercos.yuewen.com/F38A38/21511156801516706/epubprivate/OEBPS/Images/82_01.jpg?sign=1738842537-45v13wNWHXCYcVEu0g6Itl03huOt6nyc-0-f733f2c364e6dcd4ab687d85306e32e0)
运算结果:
![](https://epubservercos.yuewen.com/F38A38/21511156801516706/epubprivate/OEBPS/Images/82_02.jpg?sign=1738842537-cJDo5NzLEDr6qjrfrpkbXHgljUaprzar-0-accda68debf226343c53b29db9ee974c)
2.set()函数创建集合
set()函数为Python的内置函数,其功能是将字符串、列表、元组、range对象等可迭代对象转换成集合。该函数的语法格式如下:
![](https://epubservercos.yuewen.com/F38A38/21511156801516706/epubprivate/OEBPS/Images/82_03.jpg?sign=1738842537-SjkhdLM088pQeqOi2nY0O3MjJASK6ex9-0-af351750d12bd68583cd3f0fc0c9ef1f)
其中,iteration表示字符串、列表、元组、range对象等数据。
【例2-60】 用set()函数创建集合。
![](https://epubservercos.yuewen.com/F38A38/21511156801516706/epubprivate/OEBPS/Images/82_04.jpg?sign=1738842537-lJPj2fk1BInjuVpp0GV5PK57vzbExiZG-0-bf36b5bfdf39e8039585b3913c443eee)
运算结果:
![](https://epubservercos.yuewen.com/F38A38/21511156801516706/epubprivate/OEBPS/Images/82_05.jpg?sign=1738842537-gckPSkBn3vcFngkKREK5U7sRZlXDKqc5-0-19f92c64878a87064d06845764ec28f2)
本例运行第二次后,发现集合的排序又发生变化了,这就验证了集合无序的特点。
需要注意的是,如果要创建空集合,只能使用set()函数实现。因为直接使用一对“{}”,Python解释器会将其视为一个空字典。