内容正文:
第5章 组合数据类型
1
学习目标/Target
了解组合数据类型,能够归纳序列类型、集合类型和映射类型的特点
熟悉切片的基本使用,能够使用切片截取列表或元组的元素
掌握列表的常见操作,能够根据需求选择合适的方法操作列表
掌握列表推导式,能够选择合适的列表推导式构建列表
掌握元组的常见操作,能够通过字面量或tuple()函数创建元组
2
学习目标/Target
掌握集合的常见操作,能够根据需求选择合适的方法操作集合
掌握集合关系测试的方式,能够通过操作符或方法实现集合关系的操作
掌握字典的创建或访问,能够创建字典并根据键访问其对应的值
掌握字典的常见操作,能够根据需求选择合适的方法操作字典
3
章节概述/ Summary
随着大数据时代的到来,计算机在实际应用中需要批量处理相互联系的复杂数据,例如班级学生的基本信息和各科成绩等。为了有效地处理这些数据,Python 提供了组合数据类型。这些数据类型可以同时处理一组数据,简化了开发人员的工作,同时又大大提高了程序的运行效率。本章将全面介绍Python 中的组合数据类型。
4
目录/Contents
01
组合数据类型概述
列表与元素
实例:垃圾分类
02
03
5
目录/Contents
04
集合
字典
实例:手机通讯录
05
06
6
字典
5.5
7
5.5.1 字典介绍
Python中的字典是一种无序、可变的数据类型,用于存储键值对形式的元素。键必须是不可变类型,而值可以是任意类型。字典中的元素是唯一的,如果使用相同的键添加元素,则该键对应的值会覆盖前面的值。
Python中可以直接通过字典字面量创建字典,字典字面量使用大括号包含零个、一个或多个键值对,多个键值对之间使用逗号分隔,语法格式如下:
{键1:值1, 键2:值2,...键N:值N}
字典中的键与值之间以冒号分隔,长度没有限制。从语法设计角度来看,集合和字典均使用大括号包含元素,实际上集合与字典也有着相似的性质,即元素都是无序,且不能重复。
5.5.1 字典介绍
通过字面量创建字典,示例如下:
{} # 创建空字典
{'A': '123', 'B': '135', 'C': '680‘} # 创建包含多个键值对的字典
使用“字典变量[键]”的形式可以查找字典中与键对应的值。例如,使用变量保存上述第二个字典,访问该字典中键C所对应的值,代码如下:
dict_demo = {'A': '123', 'B': '135', 'C': '680'}
result = dict_demo['C'] # 访问键对应的值
print(result)
5.5.1 字典介绍
字典中的元素是没有顺序的,它是可以动态修改的,一般使用如下方法进行修改:
例如,对上述字典中键A对应的值进行修改,代码如下所示:
值 = 字典变量[键]
dict_demo['A'] = '1*5@' # 修改键对应的值
print(dict_demo)
5.5.1 字典介绍
注意,若键不在字典中,则会给字典增加一个键值对,例如:
dict_demo['D'] = '789' # 增加键值对
print(dict_demo)
5.5.2 字典的常见操作
函数/方法 功能说明
d.keys() 返回字典d中所有的键信息
d.values() 返回字典d中所有的值信息
d.items() 返回字典d中所有的键值对信息
d.get(key[, default]) 若键存在于字典d中返回其对应的值,否则返回默认值
d.update() 根据其他的键值对更新字典,键值对的编写形式是“键1=值1, 键2=值2,...”
d.clear() 清空字典
Python提供了一些针对字典的便捷方法和函数,可以方便地获取字典的信息、删除元素、清空字典等,使开发人员能够更加高效地解决字典相关问题。
5.5.2 字典的常见操作
函数/方法 功能说明
d.pop(key[, default]) 若键存在于字典d中返回其对应的值,同时删除键值对,否则返回默认值
d.popitem() 随机删除字典d中的一个键值对
del d[key] 删除字典d中的某键值对
len(d) 返回字典d中元素的个数
min(d) 返回字典d中最小键所对应的值
max(d) 返回字典d中最大键所对应的值
Python提供了一些针对字典的便捷方法和函数,可以方便地获取字典的信息、删除元素、清空字典等,使开发人员能够更加高效地解决字典相关问题。
5.5.2 字典的常见操作
通过keys()、values()和items()方法可以返回字典中键、值和键值对的信息,这里可以使用for循环遍历这些信息,例如:
dic = {'name': '小明', 'age': 23, 'height': 185}
result_one = dic.keys() # 返回字典的键信息
print(result_one)
result_two = dic.values() # 返回字典的值信息
print(result_two)
result_thr = dic.items() # 返回字典的键值对信息
for key,value in result_thr:
print(key, value)
5.5.2 字典的常见操作
字典也支持使用保留字in,用来判断某个键是否存在于字典中,如果键存在,则返回True,否则返回False。示例如下:
print('name' in dic)
print('gender' in dic)
实例:手机通讯录
5.6
16
5.6 实例:手机通讯录
手机通讯录是一种重要的沟通工具,它记录了联系人的联系方式和基本信息。在手机通讯录中,我们可以通过姓名方便查看相关联系人的手机号、电子邮箱、联系地址等信息,也可以自由编辑联系人信息,包括新增、修改、删除联系人等。
17
5.6 实例:手机通讯录
本实例要求编写程序,实现具有上述功能的手机通讯录。
18
5.6 实例:手机通讯录
实现思路如下:
(1)定义一个变量,用于保存全部的联系人。因为手机通讯录包含的大多数功能都会涉及联系人,所以这里利用列表保存全部的联系人,变量的初始值是空列表。又因为联系人包含多条信息,每条信息之间存在映射关系,例如,姓名与“小明”等,所以这里利用字典保存一个联系人的信息。
(2)通过print()函数输出手机通讯录的功能菜单,提升用户的体验。
(3)通过while语句控制用户使用手机通讯录操作的完整流程,由于用户不主动退出会一直使用手机通讯录,所以这里需要生成无限循环。
(4)在循环内部,通过input()函数接收用户输入的序号,通过if-elif-else语句判断序号是否1~6的这几种情况,并在各个分支下实现序号对应的功能。
19
本章小结
本章主要讲解了组合数据类型,包括序列类型、集合类型和映射类型,首先讲解了序列类型中列表与元组相关的内容,包括切片、列表的常见操作、列表推导式、元组的常见操作,然后讲解了集合类型相关的内容,包括集合的常见操作和集合关系测试,最后讲解了映射类型——字典,包括字典的介绍和常见操作。通过本章的学习,读者能够掌握各种数据类型的特点,并在实际编程中灵活运用。
本
章
小
结
20
$$