3.1.1 访问列表元素

列表是有序集合,因此要访问列表的任何元素,只需将该元素的位置或索引告诉Python即可。要访问列表元素,可指出列表的名称,再指出元素的索引,并将其放在方括号内。

例如,下面的代码从列表vehicles中提取第一款汽车:

  1. # vehicles.py
  2. vehicles = ['Car', 'Truck', 'Lorry', 'Tractor', 'SUV', 'Limousine']
  3. print(vehicles[0])

上面的代码演示了访问列表元素的语法。当你请求获取列表元素时,Python只返回该元素,而不包括方括号和引号:
Car

3.1.2 索引从 0 而不是 1 开始

Python中,第一个列表元素的索引为0,而不是1。在大多数编程语言中都是如此,这与列表操作的底层实现相关。如果结果出乎意料,请看看你是否犯了简单的差一错误。

第二个列表元素的索引为1。根据这种简单的计数方式,要访问列表的任何元素,都可将其位置减1,并将结果作为索引。例如,要访问第四个列表元素,可使用索引3。

下面的代码访问索引1和3处的汽车:

# vehicles.py
vehicles = ['Car', 'Truck', 'Lorry', 'Tractor', 'SUV', 'Limousine']
print(vehicles[1])
print(vehicles[3])

输出:
Truck
Tractor

Python为访问最后一个列表元素提供了一种特殊语法。通过将索引指定为-1,可让Python返回最后一个列表元素:

# vehicles.py
vehicles = ['Car', 'Truck', 'Lorry', 'Tractor', 'SUV', 'Limousine']
print(vehicles[-1])

输出:
Limousine

有人可能会说,你这个也没用,这个很有用啊,Python是讲究化劲的,化了劲儿,你才可以在不知道列表长度的情况下访问最后的元素。这种约定也适用于其他负数索引,例如,索引-2返回倒数第二个列表元素,索引-3返回倒数第三个列表元素,以此类推。