Python字典dict与集合set高效用法解析
94 浏览量
更新于2024-08-30
收藏 92KB PDF 举报
"Python中dict和set的用法讲解"
在Python编程中,字典(dict)和集合(set)是两种非常重要的数据结构,它们各自有着独特的用途和特性。
首先,字典是一种键值对(key-value pair)的数据结构,其中键是唯一的,用于标识对应的值。字典在Python中提供了快速的查找、插入和删除操作,因为它们内部使用哈希表进行存储。哈希表允许通过键的哈希值直接定位到对应的值,从而实现了高效的查找效率。字典的创建可以通过直接初始化或者通过键值对进行添加。例如:
```python
# 初始化字典
d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
# 动态添加键值对
d['Adam'] = 67
```
字典的操作包括获取值、更新值、删除键值对等。如要获取键为'Michael'的值:
```python
print(d['Michael']) # 输出:95
```
若尝试访问不存在的键,Python会抛出`KeyError`异常:
```python
print(d['Thomas']) # 报错:KeyError: 'Thomas'
```
为了避免`KeyError`,可以使用`get`方法安全地获取值,当键不存在时返回默认值:
```python
print(d.get('Thomas')) # 输出:None
print(d.get('Thomas', 0)) # 输出:0,指定默认值0
```
字典的另一个重要特性是可以通过键进行迭代,遍历所有的键或键值对:
```python
for key in d:
print(key, d[key])
```
集合(set)则是无序的不重复元素序列,它不包含重复元素,也没有索引。集合的创建通常通过花括号 `{}` 或 `set()` 函数来完成:
```python
# 创建空集合
s = set()
# 通过列表创建集合
s = set(['apple', 'banana', 'cherry'])
```
集合操作包括添加元素、删除元素、并集、交集、差集等。例如,添加元素到集合:
```python
s.add('orange')
```
集合的并集表示所有元素,不论来自哪个集合:
```python
s1 = set('abc')
s2 = set('bcd')
s3 = s1.union(s2) # {'a', 'b', 'c', 'd'}
```
交集表示同时存在于两个集合中的元素:
```python
s1.intersection(s2) # {'b', 'c'}
```
差集表示在第一个集合中但不在第二个集合中的元素:
```python
s1.difference(s2) # {'a'}
```
集合也可以进行成员关系测试,判断某个元素是否在集合内:
```python
'apple' in s # 输出:True
'pear' in s # 输出:False
```
Python的字典和集合在处理数据时提供了高效且灵活的工具。字典适用于关联数据的存储,集合则用于处理无序的不重复元素,它们在算法和数据处理中扮演着至关重要的角色。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2023-03-14 上传
2023-04-17 上传
2023-05-13 上传
2021-12-03 上传
2018-09-27 上传
2024-06-25 上传
weixin_38655496
- 粉丝: 5
- 资源: 932
最新资源
- 正整数数组验证库:确保值符合正整数规则
- 系统移植工具集:镜像、工具链及其他必备软件包
- 掌握JavaScript加密技术:客户端加密核心要点
- AWS环境下Java应用的构建与优化指南
- Grav插件动态调整上传图像大小提高性能
- InversifyJS示例应用:演示OOP与依赖注入
- Laravel与Workerman构建PHP WebSocket即时通讯解决方案
- 前端开发利器:SPRjs快速粘合JavaScript文件脚本
- Windows平台RNNoise演示及编译方法说明
- GitHub Action实现站点自动化部署到网格环境
- Delphi实现磁盘容量检测与柱状图展示
- 亲测可用的简易微信抽奖小程序源码分享
- 如何利用JD抢单助手提升秒杀成功率
- 快速部署WordPress:使用Docker和generator-docker-wordpress
- 探索多功能计算器:日志记录与数据转换能力
- WearableSensing: 使用Java连接Zephyr Bioharness数据到服务器