Python基础:元组与字典操作详解及集合概念入门
在Python基础课程的第二天,我们继续深入探讨了两种重要的数据结构:元组(tuple)和字典(dict),以及新的数据结构——集合(set)。 ### 元组(tuple) 元组是一种有序且不可变的数据类型,其字面值可以通过多种方式表示: - **元组字面值**:可以是简单的逗号分隔,如`1,2,3`,也可以使用圆括号`(1,2,3)`。 - **单元素元组**:需要一个逗号作为结尾,例如`(1,)`。 - **空元组**:使用`()`表示。 元组支持基本的运算操作,如: - **算术运算**:加法、减法、乘法和指数运算符号`+=`, `*=`等可用。 - **比较运算**:`<`, `>`, `<=`, `>=`, `!=`用于比较。 - **成员运算**:`in`和`not in`用于检查元素是否存在。 - **索引和切片**:虽然元组不支持索引和切片赋值,但可以获取和查看元素。 ### 字典(dict) 字典是无序的键值对容器,键必须是不可变类型(如整数、字符串、元组等),值可以是任意类型。字典有以下特性: - **字典字面值**:使用花括号`{}`表示,如`{1: "一", 2: '二'}`。 - **构造函数**: - `dict()`:创建空字典。 - `dict(可迭代对象)`:将可迭代对象转换成字典,键和值由元素的顺序决定。 - `dict(**kwargs)`:使用关键字参数创建字典。 - **操作**: - 访问:通过键获取值,如`d = {1: "一", 2: '二'}; v = d[1]`。 - 修改/添加:通过键设置或更新值,如`d[3] = '三'`。 - 删除:使用`del`语句,如`del d[1]`。 - **方法**:提供如`get()`, `update()`, `keys()`, `values()`, 和 `items()`等方法进行操作。 ### 集合(set) 集合是无序且不允许重复的可变容器,主要特点包括: - **创建**: - `set()`:创建空集合。 - 使用花括号`{}`或`set()`函数创建集合。 - **元素**:只能包含不可变元素,如整数、字符串等。 - **操作**: - 集合运算:交集(`&`)、并集(`|`)、补集(`-`)、子集(`<=`)和超集(`>=`)。 - 示例:`s1 = {1, 2, 3}, s2 = {2, 3, 4}; s3 = s1 & s2`。 ### 字典与列表的区别 尽管两者都可以存储数据,但有以下关键区别: 1. 可变性:列表是可变的,字典和集合也是。 2. 索引方式:列表使用整数索引,字典用键。 3. 查找效率:字典的查找速度通常比列表更快,因为它是根据键来查找的。 4. 数据顺序:列表保持插入顺序,字典是无序的。 ### 总结 在Python的这一天学习中,我们深化了对元组、字典和集合的理解,了解了它们各自的特性和用途。掌握这些数据结构对于编写高效、灵活的代码至关重要。通过实际操作和练习,你可以更好地利用这些数据结构在实际项目中解决问题。
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/27075ced897a4a1992ed0cfdf2e39a40_qq_38470315.jpg!1)
- 粉丝: 1804
- 资源: 3934
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- Hadoop生态系统与MapReduce详解
- MDS系列三相整流桥模块技术规格与特性
- MFC编程:指针与句柄获取全面解析
- LM06:多模4G高速数据模块,支持GSM至TD-LTE
- 使用Gradle与Nexus构建私有仓库
- JAVA编程规范指南:命名规则与文件样式
- EMC VNX5500 存储系统日常维护指南
- 大数据驱动的互联网用户体验深度管理策略
- 改进型Booth算法:32位浮点阵列乘法器的高速设计与算法比较
- H3CNE网络认证重点知识整理
- Linux环境下MongoDB的详细安装教程
- 压缩文法的等价变换与多余规则删除
- BRMS入门指南:JBOSS安装与基础操作详解
- Win7环境下Android开发环境配置全攻略
- SHT10 C语言程序与LCD1602显示实例及精度校准
- 反垃圾邮件技术:现状与前景
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)