當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。