Funkcija slice () vraća objekt kriške koji se može koristiti za rezanje nizova, popisa, korice itd.
Slice objekt koristi se za rezanje zadane sekvence (niza, bajtova, korice, popisa ili raspona) ili bilo kojeg objekta koji podržava protokol sekvence (oruđa __getitem__()
i __len__()
metoda).
Sintaksa slice()
je:
kriška (početak, zaustavljanje, korak)
slice () Parametri
slice()
može uzeti tri parametra:
- start (neobavezno) - početni cijeli broj gdje započinje rezanje predmeta. Zadano
None
ako nije navedeno. - stop - Cijeli broj do kojeg se vrši rezanje. Rezanje se zaustavlja na indeksnom zaustavljanju -1 (posljednji element) .
- korak (neobavezno) - Integer vrijednost koja određuje priraštaj između svakog indeksa za rezanje. Zadane vrijednosti
None
ako nisu navedene.
Primjer 1: Stvorite objekt kriške za rezanje
# contains indices (0, 1, 2) result1 = slice(3) print(result1) # contains indices (1, 3) result2 = slice(1, 5, 2) print(slice(1, 5, 2))
Izlaz
kriška (nema, 3, nema) kriška (1, 5, 2)
Ovdje su result1
i result2
kriški objekti.
Sada znamo o objektima rezanja, pogledajmo kako možemo dobiti podniz, pod-popis, podskupinu itd. Od objekata rezanja.
Primjer 2: Nabavite podniz koristeći 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
Izlaz
Pyt yhn
Primjer 3: Nabavite podniz koristeći negativni 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
Izlaz
ne
Primjer 4: Nabavite sublist i pod-tuple
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')
Izlaz
('P', 'y', 't') ('y', 'h')
Primjer 5: Dohvatite sublist i sub-tuple koristeći negativni 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')
Izlaz
('n', 'o', 'h') ('n', 'h')
Primjer 6: Korištenje indeksacijske sintakse za rezanje
Slice objekt može se zamijeniti sintaksom indeksiranja u Pythonu.
Za rezanje možete naizmjence koristiti sljedeću sintaksu:
obj (start: stop: korak)
Na primjer,
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
Izlaz
Pyt yh