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