Funcția slice () returnează un obiect slice care poate fi folosit pentru a tăia șiruri, liste, tupluri etc.
Obiectul slice este folosit pentru a tăia o secvență dată (șir, octeți, tuplu, listă sau interval) sau orice obiect care acceptă protocolul de secvență (instrumente __getitem__()
și __len__()
metodă).
Sintaxa lui slice()
este:
felie (start, stop, step)
slice () Parametri
slice()
poate lua trei parametri:
- start (opțional) - Întreg de pornire de unde începe felierea obiectului. Implicit
None
dacă nu este furnizat. - oprire - Număr întreg până la care are loc felierea. Slicing se oprește la index stop -1 (ultimul element) .
- pas (opțional) - valoarea întregului care determină creșterea între fiecare index pentru feliere. Valori implicite
None
dacă nu sunt furnizate.
Exemplul 1: Creați un obiect felie pentru feliere
# contains indices (0, 1, 2) result1 = slice(3) print(result1) # contains indices (1, 3) result2 = slice(1, 5, 2) print(slice(1, 5, 2))
Ieșire
felie (None, 3, None) felie (1, 5, 2)
Aici, result1
și result2
sunt obiecte felie.
Acum știm despre obiecte felii, să vedem cum putem obține sub șir, sub-listă, sub-tuplu etc. din obiecte felie.
Exemplul 2: Obțineți sub șir folosind obiectul slice
# 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
Ieșire
Pyt yhn
Exemplul 3: obțineți șiruri de caractere folosind index negativ
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
Ieșire
nu
Exemplul 4: obțineți sublist și sub-tuplu
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')
Ieșire
('P', 'y', 't') ('y', 'h')
Exemplul 5: obțineți sublist și sub-tuplu folosind index negativ
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')
Ieșire
('n', 'o', 'h') ('n', 'h')
Exemplul 6: Utilizarea sintaxei de indexare pentru tranșare
Obiectul slice poate fi înlocuit cu sintaxa de indexare în Python.
Puteți utiliza alternativ următoarea sintaxă pentru tranșare:
obj (start: stop: step)
De exemplu,
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
Ieșire
Pyt yh