python列表的索引和切片
时间: 2024-12-08 20:14:04 浏览: 19
在Python中,列表是一种有序的集合,可以包含任意类型的元素。列表支持两种访问元素的方式:通过索引(indexing)和切片(slicing)。
**索引**:
- 索引是从0开始计数的整数。例如,对于列表`[1, 2, 3, 4, 5]`,第一个元素的索引是0,最后一个元素的索引是4(因为Python的索引包括结束位置,所以长度为5的列表,索引最大到4)。
- 如果尝试访问超出范围的索引,会抛出`IndexError`异常。比如,`list[-1]`有效,但是`list[-6]`则会报错。
**切片**:
- 切片是获取列表的一部分,语法是`list[start:end:step]`。`start`是起始位置(包含),`end`是终止位置(不包含),`step`是步长,默认为1。
- 如果省略`start`,默认从0开始;如果省略`end`,默认到列表的最后一个元素;如果省略`step`,默认为1。例如,`list[1:4]`返回第二个到第四个元素(不包括第四项)。
- 同样地,负数索引可以从列表结尾向前数,如`list[:-2]`将取到倒数第三个元素。
举个例子:
```python
my_list = [0, 1, 2, 3, 4, 5]
print(my_list[0]) # 输出:0
print(my_list[2:4]) # 输出:[2, 3]
print(my_list[:3]) # 输出:[0, 1, 2]
print(my_list[::-1]) # 输出:[5, 4, 3, 2, 1, 0]
```
切片操作返回的是一个新的列表,原列表不会受到影响。
阅读全文