首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python入门(12)

Python入门(12)

作者头像
高一峰
发布2020-09-22 09:51:52
4440
发布2020-09-22 09:51:52
举报
文章被收录于专栏:高渡号外高渡号外
Python入门(12/18)

第十二节 集合

大家好,今天讲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、集合的操作函数或方法汇总

  • issubset() #判断指定集合是否为该方法参数集合的子集
  • issuperset() #判断该方法的参数集合是否为指定集合的子集
  • pop() #随机移除一个元素,并返回被移除的元素
  • remove() #移除指定的元素
  • symmetric_difference() #返回两个集合中不重复的元素集合(并集)
  • symmetric_difference_update() #移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中
  • union() #返回两个集合的并集
  • update() #通过一个序列,给集合添加新元素
  • len(set) #返回集合元素的个数
  • x in set #判断x是否存在与集合中,返回True或False
  • add() #为集合添加元素
  • clear() #移除集合中的所有元素
  • copy() #拷贝一个集合
  • difference() #返回多个集合的差集
  • difference_update() #移除集合中的元素,该元素在指定的集合也存在
  • discard() #删除集合中指定的元素
  • intersection() #返回集合的交集
  • intersection_update() #删除集合中的元素,该元素在指定的集合中不存在
  • isdisjoint() #判断两个集合是否包含相同的元素,如果没有返回True,否则返回 False

小结

这节课,我们学习了Python的集合。集合是python又一个重要的数据结构,因为无序且不重复,所以,它不能依赖所谓索引进行访问,也不能修改。但它可以被追加和删除。更重要的是它支持集合运算,从而获得两个集合的交集、并集、补集和差集。

预告

到此为止,我们学完了python的主要数据类型:数字、字符串、列表、元组、字典和集合,应用这些数据类型,我们已经可以通过编程,解决一些应用问题。接下来,我们将要通过python,来创建几个应用项目。

任何疑问,请留言。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-06-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 高渡号外 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档