主题:python 中的集合类型 Set
Set
相信大家一定还记得数学中的集合知识,python 中的集合和数学中的集合很相似,可以进行类比学习。这里主要先介绍可变集合,然后再来说一说不可变集合。
可变集合
集合定义
由若干个研究对象构成的整体叫做集合,这些研究对象叫做集合的元素。
创建集合
python 中的集合元素使用大括号 包裹,元素之间使用英文逗号 隔开,创建方式有两种:
或
但是有一点,空集的创建只能使用:
而不能使用下面这样,这种方式创建的是空字典类型,下次介绍:
元素特征
数学中集合的集合有三个特征:
确定性:一个元素在不在某个集合中是确定的,不会出现模棱两可的情况。
互异性:没有相同的元素,只保留一个。
无序性:元素是在存储时是没有顺序的,也就是说不能像列表那样通过索引或切片访问集合中的元素。
在 python 中来说 ,Set 类型中的元素除了上面三个特征之外还有一个:
不可变性:元素必须是可 hash 的,也就是元素必须是不可变的数据对象,前面介绍数据类型时也说过数据对象的可变与不可变:整型、字符串、元组是不可变的;列表是可变的。
集合操作
可变集合中的元素个数是可变的,可以增加、删除元素。
演示:
集合运算
数学中的集合可以进行一系列的运算,python 中的 set 也有相应的运算。
演示:
元素操作
因为集合中元素是无序的,所以不能通过索引访问集合中的元素,但是可以判断某个元素是否属于(或不属于)某个集合:
不可变集合
理解了可变集合之后,不可变集合就很好掌握了,不可变集合就是在可变集合的基础上,增加了一条限制规则:
集合创建之后不能修改:不能增加、删除元素。
不可变集合的创建方式如下:
后记
细心的同学可能会发现,目前介绍的 list、tuple、set 数据类型,都有相同之处和自己的独特之处,独特的地方也决定了它们的应用场景。等基本数据类型介绍结束之后,同学们可以进行简单的总结对比。
文章到此结束,有需要讨论的地方尽请留言。
能动手就别站着
领取专属 10元无门槛券
私享最新 技术干货