练习Python和翻译 网址:http://learnpythonthehardway.org/book/ex34.html
练习34:获取列表的元素 如果能够获取列表中的元素,列表是非常有用的。你已经可以顺序的浏览列表中的元素,但是如果你想获取第五个元素呢?你需要知道 怎么去获取列表中的元素。以下是方法:
animals = [‘bear’, ‘tiger’, ‘penguin’, ‘zebra’] bear = animals[0]
列出一组动物,使用0获取第一个?!这是什么原理?数学的方式,Python 列表的序号是从0开始而不是1.看上去有点奇怪,但是 这样做有很多好处。
最好的解释方式是阐明你使用数字与程序员使用数字的不同。 想象你看见在列表中的四种动物在赛跑比赛中。它们到达的顺序按照列表中的顺序。比赛很精彩,动物互相间没有吃掉对方并且完成比赛。 你的朋友迟到了,想知道比赛结果,他不会问“谁第0个到达?”而是会问“谁是第一个?” 这是因为动物的顺序很重要。你不能够不数第一个就直接数第二个动物,也不能跳过第二个直接数第三个。由于0代表没有,所以没有第0个动物。 不能表示成“没有”赢得了比赛。这没有意义。我们称这些数为序数,代表事物的顺序。
但是程序员不用这种方式思考,他们能够任何时刻获取列表中的任何元素。对于程序员来说,上面的列表像是一幅纸牌。想要老虎,抓出老虎;想要斑马,拿出斑马。 为了能够任意取出列表中的元素,需要一个地址或者索引,最好的方式是从0开始使用索引。对于这种方式的访问,数学的方式是相对简单易用。 使用这种基数能够使你任意获取,所以需要0.
如何使用列表?很简单,当你想获取第三个动物时,将3这个“序数”减1就转化成了“基数”。第三的动物是索引为2的企鹅。虽然你生活中一直使用序数,但是现在必须用基数的方式。只需要“减1”。