Python 语言中的集合(Set)和序列(Sequence)是两种重要的数据结构,它们各自具有独特的特性和用途。本文将深入探讨这两个概念以及相关的操作和应用。 **6.1 集合类型及操作** 集合(Set)是Python中用于存储无序、不重复元素的数据结构。集合中的元素必须是不可变的,如字符串、数字或元组。集合用大括号 `{}` 或 `set()` 函数创建。以下是一些示例: ```python A = {"python", 123, ("python", 123)} # 使用{}创建集合 B = set("pypy123") # 使用set()创建集合 ``` 集合支持多种操作,包括: 1. 并集(Union):`S | T`,返回包含S和T所有元素的新集合。 2. 差集(Difference):`S - T`,返回只在S中但不在T中的元素集合。 3. 交集(Intersection):`S & T`,返回同时在S和T中的元素集合。 4. 对称差集(Symmetric Difference):`S ^ T`,返回S和T中不相同的元素集合。 5. 子集/超集关系判断:`S <= T` 或 `S < T`,`S >= T` 或 `S > T`,分别判断S是否为T的子集或真子集,以及S是否包含T。 此外,集合还有增强操作符,如 `|=`, `-=`, `&=`, `^=`,用于更新集合内容。 **集合处理方法**: - `S.add(x)`:添加元素x到集合S,如果x已存在则不做操作。 - `S.discard(x)`:移除元素x,如果x不存在则不报错。 - `S.remove(x)`:移除元素x,如果x不存在会引发`KeyError`。 - `S.clear()`:清空集合S。 - `S.pop()`:随机返回并删除S的一个元素,空集合时引发`KeyError`。 - `S.copy()`:复制S生成一个新的集合。 - `len(S)`:返回集合S的元素数量。 - `x in S`:检查元素x是否在S中。 - `x not in S`:检查元素x是否不在S中。 - `set(x)`:将其他类型变量转换为集合类型。 **6.2 序列类型及操作** 序列(Sequence)是Python中的基本数据结构,包含顺序的元素。序列分为字符串、元组和列表三种主要类型。 1. **序列的定义**:序列是一维元素数组,元素类型可不同,通过索引访问。 2. **序列处理函数和方法**: - `s.index(x[, i[, j]])`:返回s中第一个x的索引,i和j为可选的起始和结束索引。 - `s.count(x)`:返回s中x出现的次数。 3. **元组(Tuple)**:不可变序列,创建后不能修改,使用小括号或`tuple()`创建。 4. **列表(List)**:可变序列,创建后可以修改,使用方括号或`list()`创建。 **列表操作方法**: - `ls[i] = x`:替换列表ls中索引i处的元素为x。 - `ls[i:j:k] = lt`:用列表lt替换ls的切片。 - `del ls[i]`:删除ls中索引i的元素。 - `del ls[i:j:k]`:删除ls的切片。 - `ls += lt`:将lt追加到ls后面。 - `ls *= n`:将ls的每个元素复制n次。 - `ls.append(x)`:在ls末尾添加元素x。 - `ls.insert(i, x)`:在ls的索引i处插入元素x。 - `ls.remove(x)`:删除ls中第一个出现的x。 - `ls.reverse()`:反转ls。 **6.3 应用场景** - 元组常用于固定数据集合,不需修改的场景。 - 列表则更灵活,常用于需要增删改元素的场景。 **6.3 实例 9:基本统计值计算** 计算一组数据的总和、平均值、最大值和最小值等统计指标,可以使用Python内置的`sum()`、`len()`、`max()`和`min()`函数。 集合和序列在Python编程中扮演着至关重要的角色。集合用于去重、交集、并集等操作,而序列提供了有序数据的存储和操作,两者都是解决实际问题的重要工具。
































- 粉丝: 33
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- PLC舞台灯光设计方案.doc
- 学生信息管理系统-C语言课程方案设计书.doc
- 实验六教学板自检程序设计方案.doc
- 基于单片机大屏幕显示研究设计.doc
- web协同商务系统研究与原型开发.doc
- 钢结构CAD软件STS的功能及应用.docx
- 嵌入式单片机PPP协议的应用研究.doc
- 公路造价师考试辅导:流动资金扩大指标估算法试题.docx
- 用于预测性维护与健康管理的大型语言模型(故障诊断大模型;剩余使用寿命预测大模型)
- 2017年软件实施工程师笔试面试题及答案.docx
- 住宅小区海康网络监控系统方案.doc
- 结合电气工程及其自动化剖析机器人设计.docx
- 《信息系统分析与设计》第3章:通信与计算机网络.ppt
- Python编程作图物理仿真项目进阶设计.docx
- 基于区块链技术的电子轮机日志系统.docx
- 基于51单片机用LCD1602显示的DS18B20课程设计-键控上下限报警功能.doc


