本节概要
- 列表
程序实例8
本节我们继续完善学生成绩录入这个程序。在之前几节中,我们都是在程序运行时依次输入每位学生的姓名和成绩。这种方式不仅每次运行我们都要重新输入一遍,而且每次输入还可能发生错误。那么我们是否能提前把学生姓名和成绩编辑好呢?
为了达成上述的目标,在本节我们介绍列表这一数据结构。在第一节中我们介绍变量的时候把变量比作一个可以装东西的盒子。那么对于列表,我们可以把它比作一连串被编号的盒子。
举个例子,我们把10个“盒子”依次编号为0,1,...,9。每个盒子里依次装着"a","b","c",...,"j"。我们给这组盒子起一个名字叫names,然后我们就可以通过盒子的序号依次获得每个盒子中保存的信息了。比如通过names[0]我们可以得到"a",通过names[2]可以得到"c",通过names[-1]可以得到"j"。下面给出几个在python中使用列表的例子:
>>> names = ["a", "b", "c", "d", "e"] # 列表名为names,列表中有5个元素
>>> names[1]
>>> "b"
>>> names[-2]
>>> "d"
有时候我们在定义列表的时候并不能确定列表中都要存哪些信息,需要随着程序的运行往列表中添加元素。因此有时我们需要定义一个空的列表,并能对这个列表进行添加和删除元素的操作。定义空列表有两种方式,如下所示。列表元素的添加和删除可以分别通过append()和pop()方法实现。需要注意的是append()是向列表最后追加元素,pop()是删除列表最后一个元素。除此以外,我们通过len()方法可以获取列表的长度,或者或列表中元素的个数。
>>> names = list()
>>> names
>>> [] # 此时names是空列表
>>> names.append(123) # 向列表names追加元素123
>>> names.append(456) # 向列表names追加元素456
>>> names
>>> [123, 456]
>>> len(names)
>>> 2 # 此时names有两个元素,列表长度为2
>>> names.pop()
>>> 456 # 调用pop()的时候,列表最后一个元素被删除,并返回
>>> names
>>> [123]
基于我们刚学的列表,我们把学生成绩录入程序换一种方式实现:
names = ["张三", "呼延灼", "李四"]
score = [97, 70, 68]
for i in range(len(names)):
print("{0}同学你的分数为{1}分".format(names[i], score[i]))
本节总结
本节主要介绍的内容包括:
- 列表可以理解为一连串被编号的盒子,盒子中可以存储信息,然后我们可以通过编号来访问对应的盒子获取盒子内存储的信息。
- 向列表添加和删除元素分别通过append()方法和pop()方法实现。
- 通过len()可以获取列表的长度。
在本节中,学生的名字和成绩分别保存在两个列表中,这样就可能由于人为输入错误导致姓名和成绩对不齐。那么如何能够将学生的名字和成绩关联起来呢,下一节我们介绍字典就能解决这个问题。我们下一节再见吧。