Python基础教程:掌握列表、元组、字典和集合
109 浏览量
更新于2024-08-31
收藏 98KB PDF 举报
在Python编程语言中,组合数据类型是初学者必备的基础知识,本文将详细介绍四个主要的数据结构:列表(list), 元组(tuple), 字典(dict), 和集合(set),它们各自具有独特的特性和用途。
一、列表(list)
1.1 列表的创建:
列表的表达式通常使用方括号[],可以一次性指定元素,如`my_list = [1, 'a', 3.14]`。另一种生成方式是使用`list()`函数,它可以将可迭代对象(如range()生成器)转换为列表,如`my_list = list(range(5))`。
1.2 列表的性质:
- 长度:列表的长度可以通过内置函数`len()`获取,例如`len(my_list)`。
- 索引和切片:列表的索引与字符串类似,从0开始,如`my_list[0]`。切片语法也通用,如`my_list[1:3]`表示取第二个到第三个元素(不包括第三个)。
1.3 列表操作:
- 拼接:使用`+`运算符连接两个列表,如`list1 + list2`。
- 复制:`n * list` 或 `list * n` 可以实现列表的成倍复制。
1.4 列表方法:
- 增加元素:`append()`用于在末尾添加,`insert()`在指定位置插入,`extend()`用于合并两个列表。
- 删除元素:`pop()`移除指定位置元素,`remove()`移除第一个匹配的元素,`index()`查找元素位置。
- 修改元素:通过索引赋值,如`my_list[0] = 'new_value'`。
- 复制方法:`copy()`创建浅拷贝,`[:]`切片或`list()`函数创建深拷贝。
- 排序和翻转:`sort()`对原地排序,`sorted()`返回一个新的排序列表;`reverse()`反转列表。
二、元组(tuple)
元组与列表类似,但元组是不可变的,这意味着一旦创建,就不能添加、删除或修改元素。创建元组使用圆括号(),其操作与列表基本一致,但没有`append()`, `insert()`, 和 `extend()` 方法。
三、字典(dict)
1.1 字典的创建:
使用大括号{},键值对形式,如`my_dict = {'name': 'John', 'age': 30}`。另外,可以用`dict(zip(list1, list2))`创建字典。
1.2 字典性质:
- 长度:字典长度等于键值对数量,`len(my_dict)`。
- 索引:通过键来访问值,如`my_dict['name']`。
1.3 字典操作:
- 增加/删除/修改:直接通过键值对操作,如`my_dict['new_key'] = value`,`del my_dict[key]`,`my_dict[key] = new_value`。
- 获取默认值:`my_dict.get(key, default)`。
- 访问键值对:`keys()`, `values()`, 和 `items()` 方法。
四、集合(set)
1.1 集合的创建:
使用花括号{}或`set()`函数,集合元素无序且不允许重复,如`my_set = {1, 2, 3}`。
1.2 集合运算:
集合支持交集(&), 并集(|), 差集(-), 和对称差集(^)运算。
1.3 集合操作:
- 增加/移除元素:`add()`和`remove()`。
- 长度:`len(S)`。
总结来说,理解这些组合数据类型及其操作是Python编程中至关重要的一步。熟练掌握列表、元组、字典和集合的用法,能让你更有效地处理和组织数据,提高代码的效率和可读性。在实际项目中,根据需求灵活运用这些数据结构,是编程能力的重要体现。
2020-03-28 上传
2020-12-22 上传
2020-06-27 上传
2020-12-22 上传
2021-12-03 上传
2015-11-09 上传
2015-11-09 上传
weixin_38744435
- 粉丝: 373
- 资源: 2万+
最新资源
- SSM动力电池数据管理系统源码及数据库详解
- R语言桑基图绘制与SCI图输入文件代码分析
- Linux下Sakagari Hurricane翻译工作:cpktools的使用教程
- prettybench: 让 Go 基准测试结果更易读
- Python官方文档查询库,提升开发效率与时间节约
- 基于Django的Python就业系统毕设源码
- 高并发下的SpringBoot与Nginx+Redis会话共享解决方案
- 构建问答游戏:Node.js与Express.js实战教程
- MATLAB在旅行商问题中的应用与优化方法研究
- OMAPL138 DSP平台UPP接口编程实践
- 杰克逊维尔非营利地基工程的VMS项目介绍
- 宠物猫企业网站模板PHP源码下载
- 52简易计算器源码解析与下载指南
- 探索Node.js v6.2.1 - 事件驱动的高性能Web服务器环境
- 找回WinSCP密码的神器:winscppasswd工具介绍
- xctools:解析Xcode命令行工具输出的Ruby库