2.11.1 下标访问

下标(index),是指序列中元素的位置偏移量。通过下标,我们可以准确定位到对应的元素。

和大部分的编程语言一样,list的起始下标是0,而不是1。


>>> work_days = ['Mon', 'Tues', 'Wedn', 'Thu', 'Fri', 'Sat']
>>> work_days[0]
'Mon'

我们可以通过下标来更新list对应位置的元素。


>>> work_days = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri']

>>> work_days
['Mon', 'Tue', 'Wed', 'Thu', 'Fri']

>>> work_days[0] = '星期一'
>>> work_days
['星期一', 'Tue', 'Wed', 'Thu', 'Fri']

注意,我们可以通过下标更新“已存在”的元素。如果list里面有5个元素,那么我们可以通过下标0、1、2、3、4来更新相应的5个位置的元素,但是我们不能直接指定下标为5的元素,因为这个位置目前并没有元素存放。


>>> work_days
['星期一', 'Tue', 'Wed', 'Thu', 'Fri']

>>> work_days[5] = '星期六'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list assignment index out of range

和字符串的设计一样,list也支持负值下标,让我们可以很方便地从后往前来定位元素。下标–1对应的是最后一个元素,–2对应的是倒数第二个元素,以此类推。


>>> work_days = ['Mon', 'Tues', 'Wedn', 'Thu', 'Fri', 'Sat']
>>> work_days[-1]
'Sat'
>>> work_days[-3]
'Thu'