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