Python支持正负索引访问序列元素,正索引从0开始从前向后,负索引从-1开始从后向前,如lst=['a','b','c','d']中lst[0]为'a',lst[-1]为'd';负索引便于处理末尾元素,如text="hello"中text[-1]得'o',但需注意索引越界会报错,且正负索引存在对应关系,如长度为4时索引2与-2不等价,-2对应索引2为倒数第二元素。

在Python中,索引用于访问序列类型(如列表、字符串、元组)中的单个元素。除了常见的从0开始的正向索引,Python还支持负数索引,这为数据访问提供了更大的灵活性。
正索引:从前往后访问
正索引是最常用的索引方式,从0开始,依次递增:
- 索引0表示第一个元素
- 索引1表示第二个元素
- 以此类推
例如:
lst = ['a', 'b', 'c', 'd']print(lst[0]) # 输出: a
print(lst[2]) # 输出: c
负索引:从后往前访问
负索引以-1开始,表示从序列末尾倒数第一个元素:
立即学习“Python免费学习笔记(深入)”;
- -1 表示最后一个元素
- -2 表示倒数第二个元素
- 依此类推
继续上面的例子:
print(lst[-1]) # 输出: dprint(lst[-2]) # 输出: c
print(lst[-4]) # 输出: a
使用场景与注意事项
负索引在处理未知长度的序列时特别有用,比如获取最后一个字符或排除末尾元素。
text = "hello"print(text[-1]) # 获取最后一个字符: o
注意点:
- 如果索引超出范围(无论是正还是负),会抛出 IndexError
- 正负索引是等价映射的,比如长度为4的列表中,索引2和-2指向同一个位置吗?不,-2对应的是索引2(倒数第二)
- 切片也支持负索引,如 lst[1:-1] 表示从第二个到倒数第二个(不含最后一个)
基本上就这些。掌握正负索引能让你更灵活地操作Python中的序列数据。不复杂但容易忽略的是边界情况,使用时注意长度判断即可。











