第十二节 集合
大家好,今天讲Python四大数据结构的最后一个:集合。
1、集合
集合(set)是一个无序不重复的序列。通常,我们使用集合来消除重复元素,或者用于测试两个序列的关系:交集、并集或差集?
特征:
(1)集合是由{ }大括号组织起来的。
(2)集合的元素是唯一的。
(3)集合的元素是无序的。
2、创建一个集合
可以使用大括号 { } 或者 set() 函数创建集合。
注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
说明:
(1)可以用{}来直接定义一个集合。
(2)如果你试图定义一个带重复元素的集合python会被自动剔除。
(3)请注意一个空集合的表达。
PS:使用set()函数创建集合时,你需要知道的是,它实际上是将一个序列对象转换为一个集合,这个序列可以是字符串、列表、元组,甚至字典,并且也会自动去重。
3、集合元素的访问
集合(set)是一个无序不重复的序列,所以,它不能使用下标索引访问。
说明:
除了不能使用下标索引访问一个集合中的元素,集合中的元素还是不可更改的,所以,不能对集合中的元素进行所谓的修改操作。
4、给集合追加新的元素
我们可以使用set.add()或set.update()方法,向一个集合中追加新的元素。
说明:
(1)set.add()或set.update()方法都能向集合中追加新的元素,遇到重复元素也都能自动去重。
(2)set.add()方法是以一个对象的整体来添加新的元素的。
(3)set.update()方法则是以一个序列的方式添加的,因此,遇到字符串序列,它会将字符串拆分后再追加进来。
5、集合元素的删除或清空
使用set.remove()或set.clear()方法,可以删除集合的指定元素,或者清空一个集合。
说明
(1)set.remove()可删除集合中指定的元素,每次只能指定一个元素。
(2)set.clear()方法将一次性清空集合中的所有元素。
6、集合的运算:与(&)、或(|)、非(^)、减法
说明
(1)与(&)操作的结果会产生一个交集,即排除不相同的元素,生成一个新的集合。
(2)或(|)操作的结果会产生一个并集,即合并两个集合,剔除重复元素,生成一个新的集合。
(3)非(^)操作的结果会产生一个补集,即排除相同的元素,生成一个新的集合。
(4)减法操作产生一个差集,即剔除掉与另一个集合中相同的元素。
7、集合与列表(list)、元组(tuple)的相互转换
8、集合的操作函数或方法汇总
小结
这节课,我们学习了Python的集合。集合是python又一个重要的数据结构,因为无序且不重复,所以,它不能依赖所谓索引进行访问,也不能修改。但它可以被追加和删除。更重要的是它支持集合运算,从而获得两个集合的交集、并集、补集和差集。
预告
到此为止,我们学完了python的主要数据类型:数字、字符串、列表、元组、字典和集合,应用这些数据类型,我们已经可以通过编程,解决一些应用问题。接下来,我们将要通过python,来创建几个应用项目。
任何疑问,请留言。