在本教程中,我们将借助示例了解 Python slice() 函数。
slice()
函数返回一个切片对象,用于对任何序列(字符串、元组、列表、范围或字节)进行切片。
示例
text = 'Python Programing'
# get slice object to slice Python
sliced_text = slice(6)
print(text[sliced_text])
# Output: Python
slice() 语法
用法:
slice(start, stop, step)
参数:
slice()
可以带三个参数:
- 开始(可选)- 对象切片开始的起始整数。默认为
None
如果没有提供。 - stop- 整数,直到切片发生。切片在索引处停止停止 -1(最后一个元素).
- 步骤(可选)- 整数值,它确定每个切片索引之间的增量。默认为
None
如果没有提供。
返回:
slice()
返回一个切片对象。
注意:我们可以将切片与任何支持序列协议的对象一起使用(实现__getitem__()
和__len()__
方法)。
示例 1:创建切片对象进行切片
# 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)
这里,result1
和result2
是切片对象。
现在我们了解了切片对象,让我们看看如何从切片对象中获取子字符串、sub-list、sub-tuple 等。
示例 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
示例 3:使用负索引获取子字符串
py_string = 'Python'
# start = -1, stop = -4, step = -1
# contains indices -1, -2 and -3
slice_object = slice(-1, -4, -1)
print(py_string[slice_object]) # noh
输出
noh
示例 4:获取子列表和 sub-tuple
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')
示例 5:使用负索引获取子列表和sub-tuple
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')
示例 6:使用索引语法进行切片
切片对象可以替换为 Python 中的索引语法。
您可以交替使用以下语法进行切片:
obj[start:stop:step]
例如,
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
相关用法
- Python slice()用法及代码示例
- Python scipy.ndimage.binary_opening用法及代码示例
- Python scipy.signal.windows.tukey用法及代码示例
- Python scipy.stats.mood用法及代码示例
- Python scipy.fft.ihfftn用法及代码示例
- Python scipy.stats.normaltest用法及代码示例
- Python scipy.ndimage.convolve1d用法及代码示例
- Python scipy.stats.arcsine用法及代码示例
- Python scipy.interpolate.UnivariateSpline.antiderivative用法及代码示例
- Python scipy.linalg.hadamard用法及代码示例
- Python sympy.rf()用法及代码示例
- Python scipy.special.inv_boxcox1p用法及代码示例
- Python sympy.stats.GammaInverse()用法及代码示例
- Python scipy.stats.zipfian用法及代码示例
- Python sympy.integrals.transforms.mellin_transform()用法及代码示例
- Python sympy.replace()用法及代码示例
- Python scipy.stats.sampling.TransformedDensityRejection用法及代码示例
- Python scipy.sparse.lil_array.nonzero用法及代码示例
- Python sympy from_rgs()用法及代码示例
- Python scipy.signal.ZoomFFT用法及代码示例
注:本文由纯净天空筛选整理自 Python slice()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。