Slice () -funktio palauttaa viipaleobjektin, jota voidaan käyttää merkkijonojen, luetteloiden, sekoitusten jne.
Viipaleobjektia käytetään viipaloimaan tietty sekvenssi (merkkijono, tavut, sekoitus, luettelo tai alue) tai mikä tahansa objekti, joka tukee sekvenssiprotokollaa (toteutukset __getitem__()
ja __len__()
menetelmä).
Syntaksi slice()
on:
viipale (alku, pysäytys, askel)
slice () -parametrit
slice()
voi ottaa kolme parametria:
- start (valinnainen) - Kokonaisluku, josta kohteen viipalointi alkaa. Oletusarvo on,
None
jos sitä ei toimiteta. - stop - kokonaisluku, johon saakka viipalointi tapahtuu. Viipalointi pysähtyy hakemistopysähdykseen -1 (viimeinen elementti) .
- vaihe (valinnainen) - Kokonaisluku, joka määrittää kunkin indeksin välisen lisäyksen viipalointia varten. Oletusarvo on,
None
jos sitä ei toimiteta.
Esimerkki 1: Luo viipaleobjekti viipalointia varten
# contains indices (0, 1, 2) result1 = slice(3) print(result1) # contains indices (1, 3) result2 = slice(1, 5, 2) print(slice(1, 5, 2))
Tuotos
viipale (ei mitään, 3, ei mitään) viipale (1, 5, 2)
Tässä, result1
ja result2
ovat siivuobjekteja.
Nyt tiedämme siivuobjekteista, katsotaanpa, kuinka voimme saada alaosaa, alaluetteloa, alaryhmää jne. Viipaleobjekteista.
Esimerkki 2: Alalauseiden hankkiminen siivuobjektilla
# 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
Tuotos
Pyt yhn
Esimerkki 3: Alalauseiden hankkiminen negatiivisella indeksillä
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
Tuotos
ei
Esimerkki 4: Hae aliluettelo ja alaosio
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')
Tuotos
('P', 'y', 't') ('y', 'h')
Esimerkki 5: Alalistan ja alaryhmän hakeminen negatiivisen indeksin avulla
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')
Tuotos
('n', 'o', 'h') ('n', 'h')
Esimerkki 6: Indeksointisyntaksin käyttö viipalointiin
Viipaleobjekti voidaan korvata Pythonin indeksointisyntaksilla.
Voit käyttää leikkaamiseen vuorotellen seuraavaa syntaksia:
obj (alku: lopeta: askel)
Esimerkiksi,
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
Tuotos
Pyt yh