Python-siivu ()

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, Nonejos 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, Nonejos 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ä, result1ja result2ovat 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 

Mielenkiintoisia artikkeleita...