python 零基础学习(九)

主题:python 中的集合类型 Set

Set

相信大家一定还记得数学中的集合知识,python 中的集合和数学中的集合很相似,可以进行类比学习。这里主要先介绍可变集合,然后再来说一说不可变集合

可变集合

集合定义

由若干个研究对象构成的整体叫做集合,这些研究对象叫做集合的元素

创建集合

python 中的集合元素使用大括号 包裹,元素之间使用英文逗号 隔开,创建方式有两种:

但是有一点,空集的创建只能使用:

而不能使用下面这样,这种方式创建的是空字典类型,下次介绍:

元素特征

数学中集合的集合有三个特征:

确定性:一个元素在不在某个集合中是确定的,不会出现模棱两可的情况。

互异性:没有相同的元素,只保留一个。

无序性:元素是在存储时是没有顺序的,也就是说不能像列表那样通过索引或切片访问集合中的元素。

在 python 中来说 ,Set 类型中的元素除了上面三个特征之外还有一个:

不可变性:元素必须是可 hash 的,也就是元素必须是不可变的数据对象,前面介绍数据类型时也说过数据对象的可变与不可变:整型、字符串、元组是不可变的;列表是可变的。

集合操作

可变集合中的元素个数是可变的,可以增加、删除元素。

演示:

集合运算

数学中的集合可以进行一系列的运算,python 中的 set 也有相应的运算。

演示:

元素操作

因为集合中元素是无序的,所以不能通过索引访问集合中的元素,但是可以判断某个元素是否属于(或不属于)某个集合:

不可变集合

理解了可变集合之后,不可变集合就很好掌握了,不可变集合就是在可变集合的基础上,增加了一条限制规则:

集合创建之后不能修改:不能增加、删除元素。

不可变集合的创建方式如下:

后记

细心的同学可能会发现,目前介绍的 list、tuple、set 数据类型,都有相同之处和自己的独特之处,独特的地方也决定了它们的应用场景。等基本数据类型介绍结束之后,同学们可以进行简单的总结对比。

文章到此结束,有需要讨论的地方尽请留言。

能动手就别站着

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180513G1L5QR00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券