4.1 列表的基础概念
使用列表首先需要创建列表,理解列表的下标等基础概念,这样才能进一步学习它的应用。
4.1.1 创建列表
创建列表其实很简单,只需要使用一个方括号“[]”,下面通过代码清单4-1进行说明。
代码清单4-1:创建列表
在Python中,列表是使用方括号“[]”来创建的,它既可以拥有不同的元素,也可以拥有相同的多个元素,而每个元素之间都使用“,”作为分隔符,而且元素之间的数据类型可以是不同的。
4.1.2 列表的遍历和下标
遍历列表一般来说比较简单,只需要使用for循环就可以,如代码清单4-2所示。
代码清单4-2:使用for循环遍历列表
在列表的访问和操作中,大部分是通过下标进行的,所以这里有必要介绍列表的下标。假设某个列表的长度为length,和字符串的下标一样,列表的下标也是从0开始计算的,最后一个元素的下标为length - 1。当然,它也允许存在负数下标,使用负数时第一个元素的下标是-1 * length,最后一个元素的下标是-1。如果列表变量名为strings,那么strings[0]或String[-1*length]就代表访问它的第一个元素。有时需要使用下标遍历列表,这时可以用for循环,如代码清单4-3所示。
代码清单4-3:使用下标遍历列表
代码①处使用正向下标遍历列表,而代码②处使用反向下标遍历列表。列表strings的下标图解如图4-1所示。
图4-1 列表strings的下标图解
图4-1可以使读者很好地理解如何通过下标来遍历列表的元素。
注意 不要使用魔法数字
代码清单4-3中代码①处的循环条件完全可以写成如下形式:
需要注意的是,这里的“4”本身并不具备业务含义,只能靠开发者阅读代码,揣测它为列表的长度,这样只能通过阅读代码来揣测含义的数字,在程序设计领域中被称为魔法数字。如果是在很长的一段代码中,那么就更加难以推断它的含义,所以直接使用魔法数字会造成可读性的下降。此外,魔法数字会带来另外一个坏处,如为列表strings增加一个元素——“parrot”,此时列表的长度为5,那么这时使用“4”这个魔法数字就遍历不到最后一个元素。
在代码清单4-3中,先用len函数获取列表的长度并保存为length,这样可读性就会提高,而即使列表strings添加或删除了元素,循环条件依旧可以不变,所以使用变量length保存列表的长度会带来很多好处。
在程序设计中遍历列表找到最小值和最大值也是常见的操作,下面通过代码清单4-4进行说明。
代码清单4-4:寻找列表中的最小值和最大值
这段代码的含义是,通过遍历列表,将min_value和max_value与列表元素依次进行对比,最终找到最小值和最大值。
说明 最简单列表求最值的方法
上述求最值的方法是让读者学习如何遍历列表,而最简单的求最值的方法是利用Python内置的min函数和max函数,如下所示:
这里的min和max都是Python内置的函数,直接使用这两个函数就能够得到最值。