51 lines
1.7 KiB
Markdown
51 lines
1.7 KiB
Markdown
|
---
|
|||
|
title: Python Slicestartstopstep
|
|||
|
localeTitle: Python Slicestartstopstep
|
|||
|
---
|
|||
|
`slice(start:stop[:step])`是一个通常包含序列一部分的对象。使用下标符号创建切片,\[\]在给定多个数字时使用数字之间的冒号,例如在variable\_name \[1:3:5\]中。
|
|||
|
|
|||
|
## 参数
|
|||
|
|
|||
|
此函数可用于切片元组,数组和列表。
|
|||
|
|
|||
|
`start`参数的值(如果未提供,则为None)
|
|||
|
|
|||
|
`stop`参数的值(或序列的最后一个索引)
|
|||
|
|
|||
|
`step`参数的值(如果未提供则为None)。它不能是0。
|
|||
|
|
|||
|
这三个必须是整数类型。
|
|||
|
|
|||
|
## 返回
|
|||
|
|
|||
|
如果仅提供`stop` ,则它生成从索引`0`到`stop`的序列的一部分。
|
|||
|
|
|||
|
如果仅提供`start` ,则在索引`start`之后生成序列的一部分直到最后一个元素。
|
|||
|
|
|||
|
如果同时提供了`start`和`stop` ,它会在索引`start`直到`stop`生成一部分序列。
|
|||
|
|
|||
|
如果提供了全部三个`start` , `stop`和`step` ,则在索引`start`之后生成序列的一部分,直到`stop`并增加索引`step` 。
|
|||
|
|
|||
|
## 例
|
|||
|
```
|
|||
|
a = [1, 2, 3, 4, 5, 6, 7, 8]
|
|||
|
print(a[:5]) # prints [1, 2, 3, 4, 5]
|
|||
|
print(a[2:]) # prints [3, 4, 5, 6, 7, 8]
|
|||
|
print(a[2:5]) # prints [3, 4, 5]
|
|||
|
print(a[2:7:2]) # prints [3, 5, 7]
|
|||
|
```
|
|||
|
|
|||
|
您可以使用`-1`索引序列的最后一个索引:
|
|||
|
```
|
|||
|
a = [1, 2, 3, 4, 5, 6]
|
|||
|
print(a[-1]) # prints 6
|
|||
|
print(a[2:-1]) # prints [3, 4, 5]
|
|||
|
```
|
|||
|
|
|||
|
您可以使用`[::-1]`切片表示法来翻转序列:
|
|||
|
```
|
|||
|
a = [1, 2, 3, 4, 5, 6]
|
|||
|
print(a[::-1]) # prints [6, 5, 4, 3, 2, 1]
|
|||
|
```
|
|||
|
|
|||
|
[官方文件](https://docs.python.org/3/library/functions.html#slice) ![:rocket:](//forum.freecodecamp.com/images/emoji/emoji_one/rocket.png?v=2 ":火箭:") [运行代码](https://repl.it/CT5h)
|