6. 字典数据类型

您所在的位置:网站首页 数据字典包含哪些基本内容和方法 6. 字典数据类型

6. 字典数据类型

2024-07-04 16:14| 来源: 网络整理| 查看: 265

6. 字典数据类型

文章目录 6. 字典数据类型 1. 字典数据类型 1.1 访问字典值 1.2 添加键值对 1.3 删除键值对 2. 字典类型的操作 2.1 keys()、values()和items()方法 2.2 检查字典中是否存在键或值 2.3 get()方法 2.4 setdefault()方法 2.5 使用update()合并字典 2.6 漂亮打印 3. 字典实例 斐波拉切数列 4. jieba库的使用 4.1 jieba库的解析方法: 4.2 用jieba做文本词频统计 《Hamlet》英文词频统计 《三国演义》人物出场统计 5.小结

1. 字典数据类型

字典数据(dictionary)类型提供了一种灵活的访问和组织数据的方式。像列表一样,“字典”是许多值的集合。但不像列表的下标,字典的索引可以使用许多不同数据类型,不只是整数。字典的索引被称为“键”,键及其关联的值称为“键-值”对。

Python语言中的字典可以通过大括号({})建立,建立模式如下:

**{:, :, … , :} **

其中,键和值通过冒号连接,不同键值对通过逗号隔开。

例如,把下表中的一条雇员数据存储在字典employee中:

编号 姓名 部门 电子邮箱 电话号码 身份证号码 10932 张珊 管理 [email protected] 18612345678 520125197907167551 10933 李思 软件 [email protected] 18612345679 510110195512176250 10934 王武 财务 [email protected] 18612345680 510102196510255826 employee = { "编号":"10932","姓名":"张珊","部门":"管理","电子邮箱":"[email protected]","电话号码":"18612345678","身份证号码":"520125197907167551"} employee ---------------------------------------------- { '编号': '10932', '姓名': '张珊', '部门': '管理', '电子邮箱': '[email protected]', '电话号码': '18612345678', '身份证号码': '520125197907167551'}

在这个字典中,编号、姓名、部门、电子邮箱、电话号码、身份证号码称为“键”,10932、张珊、管理、[email protected]、18612345678、520125197907167551称为这些键分别对应的“值”。

键通常是字符串,但它还可以是Python中其他任意的不可变类型:布尔型、整型、浮点型、元组、字符串,以及其他一些不可变的类型。字典本身是可变的,因此可以增加、删除或修改其中的键值对。字典的键必须保证互不相同。

字典中的表项是不排序的。字典打印出来的顺序与创建之初的顺序不同,这不是错误。字典是集合类型的延续,各个元素并没有顺序之分。如果一样,纯属巧合:) print(employee) --------------------------- { '编号': '10932', '姓名': '张珊', '部门': '管理', '电子邮箱': '[email protected]', '电话号码': '18612345678', '身份证号码': '520125197907167551'} 1.1 访问字典值

字典最主要的用法是查找与特定键相对应的值,这通过索引符号来实现。

因为字典是不排序的,所以不能像列表那样切片。

一般来说,字典中键值对的访问模式如下,采用中括号格式:

= []

字典中对某个键值的修改可以通过中括号的访问和赋值实现:

employee['姓名'] employee['部门'] = '人事' print(employee) ------------------------------ '张珊' { '编号': '10932', '姓名': '张珊', '部门': '人事', '电子邮箱': '[email protected]', '电话号码': '18612345678', '身份证号码': '520125197907167551'} 1.2 添加键值对

通过中括号可以增加新的元素,例如雇员信息中,发现少了性别,可以通过下面的方式添加:

employee['性别'] ='女' employee --------------------------------- { '编号': '10932', '姓名': '张珊', '部门': '管理', '电子邮箱': '[email protected]', '电话号码': '18612345678', '身份证号码': '520125197907167551', '性别': '女'} 1.3 删除键值对

通过del删除字典中某一个键值对:

del employee['性别'] employee ------------------------- { '编号': '10932', '姓名': '张珊', '部门': '管理', '电子邮箱': '[email protected]', '电话号码': '18612345678', '身份证号码': '520125197907167551'} 2. 字典类型的操作 函数和方法 描述 .keys() 返回所有的键信息 .values() 返回所有的值信息 .items() 返回所有的键值对 .get(,) 键存在则返回相应值,否则返回默认值 .pop(,) 键存在则返回相应值,同时删除键值对,否则返回默认值 .popitem() 随机从字典中取出一个键值对,以元组(key, value)形式返回 .clear() 删除所有的键值对 del [] 删除字典中某一个键值对 in 如果键在字典中返回True,否则返回False 2.1 keys()、values()和items()方法

有3 个字典方法,它们将返回类似列表的值,分别对应于字典的键、值和键-值对:keys()、values()和items()。这些方法返回的值不是真正的列表,它们不能被修改,没有append()方法。但这些数据类型(分别是dict_keys、dict_values 和dict_items)可以用于for 循环。

for v in employee.values(): print(v) -------------------------- 10932 张珊 管理 [email protected] 18612345678 520125197907167551 for k in employee.keys(): print(k) ----------------------------- 编号 姓名 部门 电子邮箱 电话号码 身份证号码 for i in employee.items(): print(i) ------------------------------- ('编号', '10932') ('姓名', '张珊') ('部门', '管理') ('电子邮箱', '[email protected]') ('电话号码', '18612345678') ('身份证号码', '520125197907167551')

利用keys()、values()和items()方法,循环分别可以迭代键、值或键-值对。请注意,items()方法返回的dict_items 值中,包含的是键和值的元组。

如果希望通过这些方法得到一个真正的列表,就把类似列表的返回值传递给 list函数。 employee.keys() list(employee.keys()) ----------


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3