Python数据类型详解:集合、列表、元组与字典
5星 · 超过95%的资源 需积分: 33 130 浏览量
更新于2024-08-09
收藏 31KB DOC 举报
"本文主要介绍了Python编程语言中的四种主要组合数据类型:集合、列表、元组和字典。集合是一种无序且元素唯一的数据结构,支持交集、并集、差集和补集等操作。列表是有序的元素集合,元素可以是不同类型,并支持索引和切片操作。元组与列表类似,但元素不可变,常用于记录不可更改的数据。字典则是一种键值对的映射关系,提供了快速查找和存储数据的方式。"
在Python中,组合数据类型是用于存储多个数据项的数据结构。以下是这些类型及其详细说明:
**1、集合(Set)**
集合是由无序且不重复的元素组成的。它提供了多种操作,如交集、并集、差集和补集,方便处理元素的关系。
- **交集 (Intersection)**:S&T,返回同时存在于集合S和T中的元素。
- **并集 (Union)**:S|T,返回包含S和T所有元素的新集合。
- **差集 (Difference)**:S-T,返回只在S中存在的元素。
- **补集 (Symmetric Difference)**:S^T,返回S和T中互不相同的元素。
集合操作函数和方法包括:
- `S.add(x)`:向集合S中添加元素x。
- `S.remove(x)`:从集合S中移除元素x。
- `S.clear()`:清空集合S的所有元素。
- `len(S)`:返回集合S的元素个数。
- `x in S`:判断元素x是否在集合S中,是则返回True,否则返回False。
- `x not in S`:判断元素x是否不在集合S中,是则返回True,否则返回False。
- `set()`函数:可以将其他数据类型转换为集合类型。
例如:
```python
S = {1001, 'python', 78.9}
T = {1001, 'set', 12.3, 1001, 1001}
print(S - T) # {'python', 78.9}
print(S & T) # {1001}
print(S | T) # {1001, 'set', 12.3, 78.9, 'python'}
print(S ^ T) # {'python', 'set', 12.3, 78.9}
```
**2、列表(List)**
列表是Python中最常用的序列类型,用中括号`[]`表示。列表可以包含任意数量和类型的元素,元素可以相同,不具有唯一性。
- **转换**:`list(x)`函数可以将其他数据类型如集合或字符串转换为列表。
- **序列操作**:支持索引、切片、增删改查等操作。
- **嵌套列表**:可以包含其他列表,形成多维数据结构。
例如:
```python
S = [1001, 'python', 78.9]
# S.append('新元素') # 添加元素到列表末尾
# S.pop() # 移除并返回列表末尾的元素
print(len(S)) # 输出列表长度
S = list("知之为知之,不知为不知") # 将字符串转为列表
print(S) # ['知', '之', '为', '知', '之', ',', '不', '知', '为', '不', '知']
```
**3、元组(Tuple)**
元组与列表相似,但其元素是不可变的。元组用圆括号`()`表示,常用于存储不可更改的数据。
例如:
```python
t = (1001, 'python', 78.9)
```
**4、字典(Dictionary)**
字典是一种键值对的映射结构,用花括号`{}`表示。字典中的元素可以通过键(key)快速访问,键必须是唯一的,但值可以重复。
- **创建**:`dict()`或键值对的列表。
- **访问**:`d[key]`返回键key对应的值。
- **操作**:`d[key] = value`设置键key的值,`del d[key]`删除键key及其值。
例如:
```python
d = {'name': 'John', 'age': 30, 'city': 'New York'}
print(d['name']) # 输出 'John'
```
这四种组合数据类型在Python编程中各有其应用场景,理解并熟练掌握它们对于编写高效、灵活的代码至关重要。
2018-11-09 上传
2022-04-15 上传
点击了解资源详情
2023-12-07 上传
2023-05-31 上传
辉_0527
- 粉丝: 714
- 资源: 10
最新资源
- Fisher Iris Setosa数据的主成分分析及可视化- Matlab实现
- 深入理解JavaScript类与面向对象编程
- Argspect-0.0.1版本Python包发布与使用说明
- OpenNetAdmin v09.07.15 PHP项目源码下载
- 掌握Node.js: 构建高性能Web服务器与应用程序
- Matlab矢量绘图工具:polarG函数使用详解
- 实现Vue.js中PDF文件的签名显示功能
- 开源项目PSPSolver:资源约束调度问题求解器库
- 探索vwru系统:大众的虚拟现实招聘平台
- 深入理解cJSON:案例与源文件解析
- 多边形扩展算法在MATLAB中的应用与实现
- 用React类组件创建迷你待办事项列表指南
- Python库setuptools-58.5.3助力高效开发
- fmfiles工具:在MATLAB中查找丢失文件并列出错误
- 老枪二级域名系统PHP源码简易版发布
- 探索DOSGUI开源库:C/C++图形界面开发新篇章