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)  [运行代码](https://repl.it/CT5h) |