首页 > Python基础应用 > Python 入门语法教程 > 14 Python 数据类型详细篇:集合

Python 数据类型详细篇:集合

这节课是数据类型篇最后一节了,这节课我们来讲下集合数据类型,集合这个数据类型很特殊,到底是个怎么特殊法,下面我们一起来看下:

1. 简介

1.1 定义

集合是一个无序、不重复的序列,集合中所有的元素放在 {} 中间,并用逗号分开,例如:

  • {1, 2, 3},一个包含 3 个整数的列表
  • {‘a’, ‘b’, ‘c’},一个包含 3 个字符串的列表

1.2 集合与列表的区别

在 Python 中,集合与列表的区别如下:

  • 列表中的元素允许重复,集合中的元素不允许重复,示例如下:
>>> x = {1, 1, 2, 3} >>> x {1, 2, 3}

在以上程序中,元素 1 被重复了 2 次,在创建集合时,重复的元素被合并成一个。

  • 列表是有序的,提供了索引操作,集合是无序的,没有索引操作,示例如下
>>> x = {1, 2, 3} >>> x[0] Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'set' object does not support indexing

在以上程序中,试图使用索引操作符访问集合的第 0 项元素。集合是无序的,不提供索引操作,运行时出错,提示: ‘set’ object does not support indexing。

2. 常见运算操作

本节介绍对集合的最常见的几种运算操作,包括:

2.1 运算符 |

使用运算符 | 合并两个集合,示例如下:

>>> {1, 2} | {3, 4} {1, 2, 3, 4} >>> {1, 2} | {3, 4} | {5, 6} {1, 2, 3, 4, 5, 6}
  • 在第 1 行,使用运算符 | 合并两个集合
  • 在第 3 行,使用运算符 | 合并多个集合

2.2 运算符 -

使用运算符 - 从集合中删除元素,示例如下:

>>> {1, 2, 3, 4} - {3, 4} {1, 2}
  • 在第 1 行,使用运算符 - 从集合 {1, 2, 3, 4} 中删除集合 {3, 4} 包含的元素

2.3 关键字 in

通过关键字 in 检查集合中是否包含指定元素,示例如下:

>>> 'imooc' in {'www', 'imooc', 'com'} True >>> 'mooc' in {'www', 'imooc', 'com'} False
  • 在第 1 行,检测字符串 ‘imooc’ 在集合中
  • 在第 3 行,检测字符串 ‘mooc’ 不在集合中

3. 常见函数

3.1 len(set) 函数

使用函数 len 获取集合的长度,示例如下:

>>> len({1, 2, 3}) 3 >>> len({1, 2, 3, 4}) 4

3.2 max(set) 函数

使用函数 max 获取集合中最大的元素,示例如下:

>>> max({1, 2}) 2 >>> max({1, 3, 2}) 3

3.3 min(set) 函数

使用函数 min 获取集合中最小的元素,示例如下:

>>> min({1, 2}) 1 >>> min({1, 3, 2}) 1

4. 常见方法

4.1 add(item) 方法

add(item) 方法向集合中新增一个元素 item,示例如下:

>>> x = {1, 2, 3} >>> x.add(4) >>> x {1, 2, 3, 4}
  • 在第 2 行,使用 add 方法向集合中新增一个元素 4
  • 在第 4 行,显示列表中已经增加了一个元素

4.2 remove(item) 方法

remove(item) 方法从集合中删除指定元素 item,示例如下:

>>> x = {'www', 'imooc', 'com'} >>> x.remove('imooc') >>> x {'www', 'com'}
  • 在第 2 行,使用 remove 方法从集合中删除一个元素 ‘imooc’
  • 在第 4 行,显示列表中已经删除了一个元素

4.3 clear() 方法

clear() 方法移除集合中的所有元素,示例如下:

>>> x = {1, 2, 3} >>> x {1, 2, 3} >>> x.clear() >>> x set()
  • 在第 1 行,创建了一个包含 3 个元素的集合
  • 在第 4 行,使用 clear() 方法移除集合中的所有元素
  • 在第 5 行,显示集合,结果表明所有元素都被删除了

4.4 union() 方法

union() 方法返回两个集合的并集,示例如下:

>>> x = {1, 2, 3} >>> y = {4, 5, 6} >>> z = x.union(y) >>> z {1, 2, 3, 4, 5, 6}
  • 在第 3 行,使用 union() 方法返回集合 x 和集合 y 的并集
  • 在第 4 行,显示两个集合的并集

4.5 intersection() 方法

intersection() 方法返回两个集合的交集,示例如下:

>>> x = {1, 2, 3} >>> y = {2, 3, 4} >>> z = x.intersection(y) >>> z {2, 3}
  • 在第 3 行,使用 intersection() 方法返回集合 x 和集合 y 的交集
  • 在第 4 行,显示两个集合的交集

4.6 issubset() 方法

issubset() 方法判断指定集合是否为子集,示例如下:

>>> x = {1, 2, 3} >>> y = {1, 2} >>> y.isubset(x) True
  • 在第 3 行,使用 issubset() 方法判断集合 y 是否为集合 x 的子集
  • 在第 4 行,结果表明集合 {1, 2} 是集合 {1, 2, 3} 的子集

4.7 issuperset() 方法

issuperset() 方法判断指定集合是否为超集,示例如下:

>>> x = {1, 2, 3} >>> y = {1, 2} >>> x.isuperset(y) True
  • 在第 3 行,使用 issuperset() 方法判断集合 x 是否为集合 y 的超集
  • 在第 4 行,结果表明集合 {1, 2, 3} 是集合 {1, 2} 的超集

5. 小结

集合不存在重复元素这一特性能用来干的事情非常多。比如说一个学校要把全校所有学生的信息录入到系统中,为了避免某一学生的信息重复录入只需要把信息存入集合就可以避免这一错误。

本文来自互联网用户投稿,不拥有所有权,该文观点仅代表作者本人,不代表本站立场。
访问者可将本网站提供的内容或服务用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。
本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站,邮箱:80764001@qq.com,予以删除。
© 2023 PV138 · 站点地图 · 免责声明 · 联系我们 · 问题反馈