Funkcija slice () vrne predmet rezine, ki se lahko uporablja za rezanje nizov, seznamov, nabora itd.
Objekt rezine se uporablja za rezanje določenega zaporedja (niz, bajti, nabor, seznam ali obseg) ali katerega koli predmeta, ki podpira protokol zaporedja (izvedbe __getitem__()
in __len__()
metoda).
Sintaksa slice()
je:
rezina (zagon, zaustavitev, korak)
slice () Parametri
slice()
lahko vzame tri parametre:
- start (neobvezno) - Začetno celo število, kjer se začne rezanje predmeta. Privzeto,
None
če ni na voljo. - stop - Celo število, do katerega poteka rezanje. Rezanje se ustavi na indeksu -1 (zadnji element) .
- korak (neobvezno) - celoštevilčna vrednost, ki določa prirastek med posameznimi indeksi za rezanje. Privzeto,
None
če ni navedeno.
Primer 1: Ustvarite predmet rezine 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))
Izhod
rezina (Brez, 3, Brez) rezina (1, 5, 2)
Tukaj so result1
in result2
predmeti rezine.
Zdaj vemo za predmete rezine, poglejmo, kako lahko iz predmetov rezine dobimo podniz, pod-seznam, podvrst itd.
Primer 2: Pridobite podniz z uporabo predmeta rezine
# 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
Izhod
Pyt yhn
Primer 3: Pridobite podniz z negativnim indeksom
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
Izhod
noh
Primer 4: Pridobite podlist in 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')
Izhod
('P', 'y', 't') ('y', 'h')
Primer 5: Pridobite podlistke in podvrstice z uporabo negativnega indeksa
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')
Izhod
('n', 'o', 'h') ('n', 'h')
Primer 6: Uporaba indeksacijske sintakse za rezanje
Objekt rezine lahko v Pythonu nadomestimo s sintakso indeksiranja.
Za rezanje lahko izmenično uporabite naslednjo sintakso:
obj (začetek: stop: korak)
Na primer
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
Izhod
Pyt yh