python基础与⼤数据应⽤第四章_Python基础教程(第四章) dict()函数可通过其它映射或者(键,值)这样的序列建⽴字典 // dict 并不属于函数,它是像list tuple str⼀样的类型 items = [('name', 'gumy'), ('age', 20)] d = dict(items) 或者 d = dict(name = 'gumy', age = 20) 基本字典操作 len(d) 翻译字典d中键值对数量 d[k]返回键k上的值 d[k] = v 将值v关联到键k上 del d[k]删除键为k的项 k in d检查d中是否有键位k的项 字典的格式化字符串 phonebook = {'Beth':'9102', 'Alice':'2341', 'Cecil':'3253'} "Alice's phone is %(Alice)s" % phonebook 字典的⽅法 clear()清除字典中所有项 copy()浅复制 deepcopy()深复制 fromkeys()使⽤给定的键简历字典,每个键默认值位None {}.fromkeys(['name', Python是一种强大的编程语言,尤其在大数据处理领域中有着广泛的应用。在Python中,字典(Dictionary)是一种数据结构,它存储的数据是以键值对(Key-Value Pairs)的形式存在,这种数据结构允许通过键来快速查找对应的值,因为字典内部采用哈希表实现,所以查找效率非常高。 创建字典可以通过`dict()`函数完成。例如,通过一个包含键值对的元组列表可以创建字典: ```python items = [('name', 'gumy'), ('age', 20)] d = dict(items) ``` 或者,直接通过键值对的方式初始化字典: ```python d = dict(name = 'gumy', age = 20) ``` 对于字典的基本操作,`len(d)`返回字典中键值对的数量;`d[k]`用来获取键为`k`的值;`d[k] = v`用于将值`v`关联到键`k`;`del d[k]`用于删除键为`k`的项;`k in d`用来检查字典`d`中是否存在键`k`。 在字符串格式化方面,字典可以与`%`操作符配合使用,如: ```python phonebook = {'Beth':'9102', 'Alice':'2341', 'Cecil':'3253'} print("Alice's phone is %(Alice)s" % phonebook) # 输出 "Alice's phone is 2341" ``` 字典还提供了多种方法: - `clear()`:清除字典中的所有项。 - `copy()`:创建字典的浅复制,只复制字典表面的键值对,如果值是可变对象,修改复制后的字典会影响原字典。 - `deepcopy()`:创建字典的深复制,不仅复制键值对,还复制嵌套的对象,确保修改不会影响原始字典。 - `fromkeys()`:使用给定的键创建新字典,所有键的默认值为`None`。例如,`{'name', 'age'}`会创建一个键为`'name'`和`'age'`,值为`None`的新字典。 - `has_key(key)`:检测字典中是否含有指定的键,Python 3中已弃用,推荐使用`key in d`代替。 - `items()`:返回所有字典项的列表,无特定顺序。 - `iteritems()`:返回一个迭代器,用于遍历字典的键值对,Python 3中已改名为`items()`。 - `keys()`:返回字典的键列表,Python 3中返回的是视图对象,可以视为不可变列表。 - `iterkeys()`:返回字典键的迭代器。 - `pop(key[, default])`:根据键删除并返回对应的值,如果没有该键,可以指定默认值,不指定则抛出异常。 - `popitem()`:随机删除并返回一个键值对,如果字典为空则抛出异常。 - `get(key[, default])`:返回键`key`对应的值,如果没有,则返回`default`参数指定的值,或默认返回`None`。 - `setdefault(key[, default])`:类似于`get()`,但当键不存在时,会设置键值对`key=default`。 - `update(other_dict)`:将`other_dict`中的项添加到当前字典中,如果键重复,以`other_dict`中的值为准。 - `values()`:返回字典中值的列表,`itervalues()`返回值的迭代器。 掌握这些基本操作和方法,可以有效地管理和操作Python字典,这对于处理大数据以及进行各种复杂的编程任务都至关重要。
- 粉丝: 105
- 资源: 9352
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- markDown工具typora与kotlin
- 基于Redis实现消息队列的实践,redis开发入门
- 3D打印机mac下载软件:HALOT-BOX-v3.5.0.2150-macx-Release.dmg
- qt开发显示图像线程 showpthread
- 3D打印机win下载软件:HALOT-BOX-v3.5.0.2149-win64-Release.exe
- stm32f103c8t6编码器解析
- esp8266_deauther_2.6.1_DISPLAY_EXAMPLE_I2C.bin
- C#电子病历管理系统源码 医院电子病历源码数据库 SQL2008源码类型 WebForm
- 3D打印机HALOT-RAY-SM-001说明书
- pointnet2-backbone 语义分割模型