第 4 章 操作列表 在第 3 章中,你学习了如何创建简单的列表,还学习了如何操作列表 元素。在本章中,你将学习如何遍历整个列表,⽆论列表有多⻓,都 只需要⼏⾏代码就能做到。循环让你能够对列表的每个元素采取⼀个 或⼀系列相同的措施,从⽽⾼效地处理任意⻓度的列表,包括包含数 千乃⾄数百万个元素的列表。 4.1 遍历整个列表 你经常需要遍历列表的所有元素,对每个元素执⾏相同的操作。例如,在 游戏中,可能需要将每个界⾯元素平移相同的距离;对于包含数的列表, 可能需要对每个元素执⾏相同的统计运算;在⽹站中,可能需要显⽰⽂章 列表中的每个标题。如果需要对列表中的每个元素都执⾏相同的操作,可 使⽤ Python 中的 for 循环。 假设我们有⼀个魔术师名单,需要将其中每个魔术师的名字都打印出来。 为此,可以分别获取名单中的每个名字,但这种做法会导致许多问题。例 如,很⻓的名单将包含⼤量重复的代码;每当名单的⻓度发⽣变化时,都 必须修改代码。使⽤ for 循环,可让 Python 去处理每个元素,从⽽避免这 些问题。
4.1 遍历整个列表
4.1 遍历整个列表 你经常需要遍历列表的所有元素,对每个元素执⾏相同的操作。例如,在 游戏中,可能需要将每个界⾯元素平移相同的距离;对于包含数的列表, 可能需要对每个元素执⾏相同的统计运算;在⽹站中,可能需要显⽰⽂章 列表中的每个标题。如果需要对列表中的每个元素都执⾏相同的操作,可 使⽤ Python 中的 for 循环。 假设我们有⼀个魔术师名单,需要将其中每个魔术师的名字都打印出来。 为此,可以分别获取名单中的每个名字,但这种做法会导致许多问题。
这节解决什么:这一节主要解决《第 4 章 操作列表》里一个更具体的子问题:4.1 遍历整个列表 该怎样落到实际代码或项目动作上。
怎么用到自己的系统:不要只把它当书中的小节标题,最好把它改写成一个你能亲手运行、修改或调试的微练习。
提醒:常见误区是只看懂例子表面流程,却没有把这一节抽成自己能迁移的规则。
4.2 避免缩进错误
4.2 避免缩进错误 Python 根据缩进来判断代码⾏与程序其他部分的关系。在前⾯的⽰例中, 向各位魔术师显⽰消息的代码⾏是 for 循环的⼀部分,因为它们缩进了。 Python 通过缩进让代码更易读。简单地说,它要求你使⽤缩进让代码整洁 且结构清晰。在较⻓的 Python 程序中,你将看到缩进程度各不相同的代码 块,从⽽对程序的组织结构有⼤致的认识。 当你开始编写必须正确缩进的代码时,需要注意⼀些常⻅的缩进错误。
这节解决什么:这一节主要解决《第 4 章 操作列表》里一个更具体的子问题:4.2 避免缩进错误 该怎样落到实际代码或项目动作上。
怎么用到自己的系统:不要只把它当书中的小节标题,最好把它改写成一个你能亲手运行、修改或调试的微练习。
提醒:常见误区是只看懂例子表面流程,却没有把这一节抽成自己能迁移的规则。
4.3 创建数值列表
4.3 创建数值列表 需要存储⼀组数的原因很多。例如,在游戏中,需要跟踪每个⾓⾊的位 置,还可能需要跟踪玩家的⼏个最⾼得分;在数据可视化中,处理的⼏乎 都是由数(如温度、距离、⼈⼝数量、经度和纬度等)组成的集合。 列表⾮常适合⽤于存储数值集合,⽽ Python 提供了很多⼯具,可帮助你⾼ 效地处理数值列表。明⽩如何有效地使⽤这些⼯具后,即便列表包含数百 万个元素,你编写的代码也能运⾏得很好。
这节解决什么:这一节主要解决《第 4 章 操作列表》里一个更具体的子问题:4.3 创建数值列表 该怎样落到实际代码或项目动作上。
怎么用到自己的系统:不要只把它当书中的小节标题,最好把它改写成一个你能亲手运行、修改或调试的微练习。
提醒:常见误区是只看懂例子表面流程,却没有把这一节抽成自己能迁移的规则。
4.4 使用列表的一部分
4.4 使⽤列表的⼀部分 在第 3 章中,你学习了如何访问单个列表元素。在本章中,你⼀直在学习 如何处理列表的所有元素。除此之外,你还可以处理列表的部分元素,在 Python 中称为切⽚( slice )。 4.4.1 切⽚ 要创建切⽚,可指定要使⽤的第⼀个元素和最后⼀个元素的索引。与 range() 函数⼀样, Python 在到达指定的第⼆个索引之前的元素时停⽌。 要输出列表中的前三个元素,需要指定索引 0 和 3 ,这将返回索引分别为 0 、 1 和 2 的元素。
这节解决什么:这一节主要解决《第 4 章 操作列表》里一个更具体的子问题:4.4 使用列表的一部分 该怎样落到实际代码或项目动作上。
怎么用到自己的系统:不要只把它当书中的小节标题,最好把它改写成一个你能亲手运行、修改或调试的微练习。
提醒:常见误区是只看懂例子表面流程,却没有把这一节抽成自己能迁移的规则。
4.5 元组
4.5 元组 列表⾮常适合⽤于存储在程序运⾏期间可能变化的数据集。列表是可以修 改的,这对于处理⽹站的⽤户列表或游戏中的⾓⾊列表⾄关重要。然⽽, 你有时候需要创建⼀系列不可修改的元素,元组可满⾜这种需求。 Python 将不能修改的值称为不可变的,⽽不可变的列表称为元组( tuple )。 4.5.1 定义元组 元组看起来很像列表,但使⽤圆括号⽽不是⽅括号来标识。定义元组后, 就可使⽤索引来访问其元素,就像访问列表元素⼀样。
这节解决什么:这一节主要解决《第 4 章 操作列表》里一个更具体的子问题:4.5 元组 该怎样落到实际代码或项目动作上。
怎么用到自己的系统:不要只把它当书中的小节标题,最好把它改写成一个你能亲手运行、修改或调试的微练习。
提醒:常见误区是只看懂例子表面流程,却没有把这一节抽成自己能迁移的规则。
4.6 设置代码格式
4.6 设置代码格式 你编写的程序越来越⻓,因此有必要学习如何确保代码的格式⼀致。请花 些时间让代码尽可能易于阅读,这有助于你掌握程序是做什么的,也可以 帮助他⼈理解你编写的代码。 为了确保所有⼈编写的代码结构⼤致⼀致, Python 程序员会遵循⼀些格式 设置约定。学会编写整洁的 Python 代码后,就能明⽩他⼈编写的 Python 代 码的整体结构 —— 只要他们和你遵循相同的指南。要成为专业程序员,就 应该从现在开始遵循这些指南,养成良好的习惯。
这节解决什么:这一节主要解决《第 4 章 操作列表》里一个更具体的子问题:4.6 设置代码格式 该怎样落到实际代码或项目动作上。
怎么用到自己的系统:不要只把它当书中的小节标题,最好把它改写成一个你能亲手运行、修改或调试的微练习。
提醒:常见误区是只看懂例子表面流程,却没有把这一节抽成自己能迁移的规则。
4.7 小结
4.7 ⼩结 在本章中,你⾸先学习了如何⾼效地处理列表中的元素,如何使⽤ for 循 环遍历列表, Python 如何根据缩进来确定程序的结构,以及如何避免⼀些 常⻅的缩进错误。然后学习了如何创建简单的数值列表,以及可对数值列 表执⾏的⼀些操作。接着学习了如何通过切⽚来使⽤列表的⼀部分以及复 制列表。最后,你还学习了元组(它对不应变化的值提供了⼀定程度的保 护),以及如何在代码变得越来越复杂时设置格式,使其易于阅读。
这节解决什么:这一节主要解决《第 4 章 操作列表》里一个更具体的子问题:4.7 小结 该怎样落到实际代码或项目动作上。
怎么用到自己的系统:不要只把它当书中的小节标题,最好把它改写成一个你能亲手运行、修改或调试的微练习。
提醒:常见误区是只看懂例子表面流程,却没有把这一节抽成自己能迁移的规则。