Funkcija slice () atgriež šķēles objektu, ko var izmantot, lai sagrieztu virknes, sarakstus, kopas utt.
Šķēles objekts tiek izmantots, lai sagrieztu noteiktu secību (virkne, baiti, kopa, saraksts vai diapazons) vai jebkuru objektu, kas atbalsta secības protokolu (rīki __getitem__()
un __len__()
metode).
Sintakse slice()
ir:
šķēle (sākums, apstāšanās, solis)
slice () parametri
slice()
var būt trīs parametri:
- start (pēc izvēles) - sākuma skaitlis, kur sākas objekta sagriešana. Noklusējums ir,
None
ja nav norādīts. - stop - vesels skaitlis, līdz kuram notiek sagriešana. Sagriešana apstājas indeksa pieturā -1 (pēdējais elements) .
- solis (pēc izvēles) - veselā vērtība, kas nosaka pieaugumu starp katru indeksu griešanai. Noklusējums ir,
None
ja tas nav norādīts.
1. piemērs: izveidojiet šķēles objektu sagriešanai
# contains indices (0, 1, 2) result1 = slice(3) print(result1) # contains indices (1, 3) result2 = slice(1, 5, 2) print(slice(1, 5, 2))
Rezultāts
šķēle (nav, 3, nav) šķēle (1, 5, 2)
Lūk, result1
un result2
ir šķēle objekti.
Tagad mēs zinām par šķēles objektiem, redzēsim, kā mēs varam iegūt apakšsadaļu, apakškopu, apakšgrupu utt.
2. piemērs: iegūstiet apakšvirkni, izmantojot šķēles objektu
# 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
Rezultāts
Pyt yhn
3. piemērs: iegūstiet apakšvirkni, izmantojot negatīvo indeksu
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
Rezultāts
noh
4. piemērs: iegūstiet apakškopu un apakšgrupu
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')
Rezultāts
('P', 'y', 't') ('y', 'h')
5. piemērs: iegūstiet apakškopu un apakšgrupu, izmantojot negatīvo indeksu
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')
Rezultāts
('n', 'o', 'h') ('n', 'h')
6. piemērs: indeksēšanas sintakses izmantošana griešanai
Šķēles objektu var aizstāt ar indeksēšanas sintaksi Python.
Sagriešanai varat pārmaiņus izmantot šādu sintaksi:
obj (sākums: stop: solis)
Piemēram,
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
Rezultāts
Pyt yh