当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python slice()用法及代码示例


在本教程中,我们将借助示例了解 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)

这里,result1result2 是切片对象。

现在我们了解了切片对象,让我们看看如何从切片对象中获取子字符串、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()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。