目录
序言
整体回忆
定义方式
访问元素
访问单个元素
访问多个与元素
修改元素
添加元素
列表里添加元素
字典里添加元素
删除元素
in运算符
实战案例
总结
序言
今天将对前面学过的三种数据结构:元组(tuple)、列表(list)和字典(dict),进行一个复习小结。
整体回忆
先来整体回忆一下这三种数据结构的基本概念~
元组能存储多个不同类型的数据,且是有序的。但它是不可变的,因此不能进行修改、删除或添加元素的操作。
列表和元组非常相似,唯一的不同是列表的元素是可以修改的。
字典的元素以键值对(key-value)的形式保存,是无序的。和列表一样,字典可以修改。
定义方式
定义元组、列表和字典的方式如图所示,分别使用小括号 () 、方括号 [] 和花括号 {} 。
三种数据结构的每一项元素都是由逗号分隔开。
访问元素
访问单个元素
元组和列表使用索引来访问某一个位置的元素。字典通过键来查找对应的值。
访问多个与元素
对于元组和列表来说,除了访问单个元素外,还可以使用切片来截取多个连续的元素。切片需要使用冒号来分隔切片开始的位置和切片终止的位置。
同时,遵循“左闭右开”原则,就是取左边的数据,不取右边的数据。
切片时,开始位置和结束位置的数字,还有三种填写情况:
1. 只填写结束位置的数字:默认从第一个元素开始切片。
2. 只填写开始位置的数字:默认从开始位置切片,取到最后一个元素。
3. 两侧数字都不填写:取列表中的所有元素。
修改元素
对列表和字典进行修改,可以使用列表的索引或字典的键,访问到需要修改的元素后,直接重新赋值即可。
添加元素
列表里添加元素
往列表里添加内容有两种方式:
1. 如果想在列表的末尾增加一个元素,可以使用 append() 语句,将想要追加的内容放入append() 语句的括号内即可。
2. 如果想在列表的任意位置添加元素,则可以使用 insert() 语句,需要依次传入:插入的元素位置和要插入的元素。
字典里添加元素
对于字典,添加新元素的方式是直接指定一个新的键,然后对它进行赋值。
示例中,先通过重新赋值更改了"Gary"键所对应的值,再指定一个新的键"Qian",通过赋值将它对应的值设置为18。
删除元素
从列表中删除一个元素时,我们使用pop()功能,通过这个元素的索引,来进行删除。
在字典中,依旧使用pop()功能,通过这个元素的键,来进行删除。
in运算符
想要快速判断列表或者元组中是否有某一个元素,可以使用in运算符。in运算符的左边是要查找的元素,右边是定义的元组或列表。in运算的结果,是一个布尔值(True/False)。
同样,当我们不知道字典有哪些键的时候,也可以通过in运算来检查字典是否包含某个键。
实战案例
实战案例:修改密码
在修改密码的时候,经常会出现新设置的密码与从前的密码一致,系统自动识别出来,无法予以更改。
这个机制其实通过列表就可以实现:
将每一次设置的密码都存入到一个列表password中,重新设置密码"yequ8888"时,通过if...else...语句以及in运算符判断"yequ8888"否存在于列表中。
如果存在,则无法修改密码,使用print()输出:"密码修改失败"。
如果不存在列表中,则可以修改密码,使用print()输出:"密码修改成功",并将"chestnut8888"追加到列表里。
在最后,通过print()输出列表password。
参考代码:
# 定义一个列表password
password = ["python666", "codingisFun", "chestnut123", "789goPython", "BugAndDebug", "runtimeError"]
# 新密码newPassword
newPassword = "chestnut8888"
# TODO 根据题目,完成剩下的代码
if newPassword in password:
print("密码修改失败")
else:
print("密码修改成功")
password.append("chestnut8888")
print(password)
运行结果:
总结
今天,我们从以下几个方面复习了元组(tuple)、列表(list)和字典(dict):
1. 定义方式
2. 访问元素
3. 修改元素
4. 添加元素
5. 删除元素