内置函数 slice() 用于对给定对象或序列进行切片。序列可以是字符串、字节、元组、列表或范围。该函数允许指定切片的起始、结束位置以及步长。
slice(start, stop, step) #where all parameters should be integers
接受三个参数。如果省略第一个和第三个参数,我们可以将语法写为 slice(stop)。
| 参数 | 描述 | 必需/可选 |
|---|---|---|
| 开始 (start) | 起始整数,表示对象切片的开始位置。如果未提供,则默认为 None | 可选 |
| 停止 | 整数,表示切片发生的位置。切片在索引 stop - 1(最后一个元素)处停止 | 必需 |
| 步长 | 整数值,确定切片每个索引之间的增量。如果未提供,则默认为 None。 | 可选 |
它返回包含指定范围内索引集的 slice 对象。
| 输入 | 返回值 |
|---|---|
| 如果参数 | 切片对象 |
# contains indices (0, 1, 2)
result1 = slice(3)
print(result1)
# contains indices (1, 3)
result2 = slice(1, 5, 2)
print(slice(1, 5, 2))
输出
slice(None, 3, None) slice(1, 5, 2)
# Program to get a substring from the given string
py_string = 'Python'
# stop = 3
# contains 0, 1 and 2 indices
slice_object = slice(3)
print(py_string[slice_object]) # Pyt
# start = 1, stop = 6, step = 2
# contains 1, 3 and 5 indices
slice_object = slice(1, 6, 2)
print(py_string[slice_object]) # yhn
输出
Pyt yhn
py_list = ['P', 'y', 't', 'h', 'o', 'n']
py_tuple = ('P', 'y', 't', 'h', 'o', 'n')
# contains indices 0, 1 and 2
slice_object = slice(3)
print(py_list[slice_object]) # ['P', 'y', 't']
# contains indices 1 and 3
slice_object = slice(1, 5, 2)
print(py_tuple[slice_object]) # ('y', 'h')
输出
['P', 'y', 't']
('y', 'h')
py_list = ['P', 'y', 't', 'h', 'o', 'n']
py_tuple = ('P', 'y', 't', 'h', 'o', 'n')
# contains indices -1, -2 and -3
slice_object = slice(-1, -4, -1)
print(py_list[slice_object]) # ['n', 'o', 'h']
# contains indices -1 and -3
slice_object = slice(-1, -5, -2)
print(py_tuple[slice_object]) # ('n', 'h')
输出
['n', 'o', 'h']
('n', 'h')
py_string = 'Python'
# contains indices 0, 1 and 2
print(py_string[0:3]) # Pyt
# contains indices 1 and 3
print(py_string[1:5:2]) # yh
输出
Pyt yh