Python列表实战:帮Johnson找到回家的路

我们已经介绍了创建列表的方法,以及使用列表的许多不同方法。在本节教程中,我们要编写一个小程序,来展示使用列表这种数据类型所能做的一些有用的事情。

帮 Johnson 找到回家的路

故事是这样的:Johnson 第一天上学,放学后要自己回家。因为担心找不到回家的路,所以他把从自己家到学校途经的路标记录到一个列表中。当他放学后要回家的时候,通过 pop() 方法,每次获取下一个路标,这样他就知道接下来该怎么走了。

我们先来创建一个空的列表 roadSign。以空列表作为开始,因为 Johnson 真正开始动身去学校之前,还并不知道会遇到哪些路标。之后,就可以把去学校路途中的重要的路标描述都 append() 到 roadSign 列表的末尾。

当 Johnson 回家的时候,只要从 roadSign 列表中 pop() 出每个路标即可。

>>> roadSign=[]
>>> roadSign.append("Johnson's house")
>>> roadSign.append("Fox streetlamp")
>>> roadSign.append("Guang Hualu kindergarten")
>>> roadSign.append("Dog rescue center")
>>> roadSign.append("Samll street park")
>>> roadSign.append("Ri Tan School")

在这里,创建了一个名为 roadSign 的空列表,然后使用 append() 方法把去学校时路过的重要路标都保存在 roadSign 列表中。

当 Johnson 到达学校,就可以查看 roadSign 列表了。第1个元素是“Johnson’s house”,后边是“Fox streetlamp”,依次类推,直到列表的最后一个元素“Ri Tan School”。

>>> print(roadSign)
["Johnson's house", 'Fox streetlamp', 'Guang Hualu kindergarten', 'Dog rescue center', 'Samll street park', 'Ri Tan School']


当要回家的时候,只需要使用 pop() 方法,将列表元素从后向前一个一个地取出来,就知道回家的路要怎么走了。

>>> nextRoadSign=roadSign.pop()
>>> print(nextRoadSign)
Ri Tan School
>>> nextRoadSign=roadSign.pop()
>>> print(nextRoadSign)
Samll street park
>>> nextRoadSign=roadSign.pop()
>>> print(nextRoadSign)
Dog rescue center
>>> nextRoadSign=roadSign.pop()
>>> print(nextRoadSign)
Guang Hualu kindergarten
>>> nextRoadSign=roadSign.pop()
>>> print(nextRoadSign)
Fox streetlamp
>>> nextRoadSign=roadSign.pop()
>>> print(nextRoadSign)
Johnson's house


当 Johnson 顺利到家后,我们可以看到,roadSign 又成为一个空的列表了。

>>> print(roadSign)
[]