Funkcija slice () pateikia objektą, kurį galima naudoti pjaustant eilutes, sąrašus, paketus ir kt.
Pjūvio objektas naudojamas pjaustyti tam tikrą seką (eilutę, baitus, paketą, sąrašą ar diapazoną) arba bet kurį objektą, palaikantį sekos protokolą (įrankiai __getitem__()
ir __len__()
metodas).
Sintaksė slice()
yra:
gabalas (pradžia, pabaiga, žingsnis)
slice () parametrai
slice()
gali būti trys parametrai:
- startas (neprivaloma) - pradinis sveikasis skaičius, kur prasideda objekto pjaustymas. Pagal numatytuosius nustatymus,
None
jei nenurodyta. - stop - sveikas skaičius, iki kurio vyksta pjaustymas. Pjaustymas sustoja indekso stotelėje -1 (paskutinis elementas) .
- žingsnis (neprivaloma) - sveikoji vertė, nustatanti kiekvieno indekso prieaugį pjaustant. Numatyta,
None
jei nenurodyta.
1 pavyzdys: sukurkite pjaustymo objektą
# contains indices (0, 1, 2) result1 = slice(3) print(result1) # contains indices (1, 3) result2 = slice(1, 5, 2) print(slice(1, 5, 2))
Rezultatas
gabalas (nėra, 3, nėra) gabalas (1, 5, 2)
Čia result1
ir result2
yra gabalas objektus.
Dabar mes žinome apie pjūvio objektus, pažiūrėkime, kaip mes galime gauti pjūvių objektus, sub-list, sub-tuple ir tt
2 pavyzdys: gaukite poskyrį naudodami objektą „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
Rezultatas
Pyt yhn
3 pavyzdys: gaukite substrą naudodami neigiamą indeksą
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
Rezultatas
ne
4 pavyzdys: gaukite pogrupį ir pogrupį
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')
Rezultatas
(„P“, „y“, „t“) („y“, „h“)
5 pavyzdys: gaukite pogrupį ir pogrupį naudodami neigiamą indeksą
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')
Rezultatas
(„n“, „o“, „h“) („n“, „h“)
6 pavyzdys: indeksavimo sintaksės naudojimas pjaustant
Pjūvio objektą galima pakeisti indeksavimo sintakse „Python“.
Pjaustydami galite pakaitomis naudoti šią sintaksę:
obj (pradžia: sustabdyti: žingsnis)
Pavyzdžiui,
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
Rezultatas
Pyt yh