Funktsioon slice () tagastab viiluobjekti, mida saab kasutada stringide, loendite, dupleksi jms viilutamiseks.
Lõiguobjekti kasutatakse antud järjestuse (string, baidid, tupel, loetelu või vahemik) või mis tahes jada protokolli toetavate objektide (tööriistad __getitem__()
ja __len__()
meetod) viilutamiseks.
Süntaks slice()
on:
viil (algus, peatus, samm)
slice () parameetrid
slice()
võib võtta kolm parameetrit:
- start (valikuline) - täisarv, kust algab objekti viilutamine. Vaikimisi
None
kui pole. - stop - täisarv, kuni viilutamine toimub. Lõikamine peatub indeks- stopp -1 juures (viimane element) .
- samm (valikuline) - täisarv, mis määrab juurdekasvu iga indeksi vahel. Vaikimisi on see
None
ette nähtud.
Näide 1: viiluobjekti loomine viilutamiseks
# contains indices (0, 1, 2) result1 = slice(3) print(result1) # contains indices (1, 3) result2 = slice(1, 5, 2) print(slice(1, 5, 2))
Väljund
viil (puudub, 3, ükski) viil (1, 5, 2)
Siin result1
ja result2
on viiluobjektid.
Nüüd teame viiluobjektide kohta, vaatame, kuidas saaksime viiluobjektidest alamstringi, alamloendi, alamjaotise jne.
Näide 2: hankige alamstring viiluobjekti abil
# 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
Väljund
Pyt yhn
Näide 3: hankige alamstring negatiivse indeksi abil
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
Väljund
noh
Näide 4: hankige alamloend ja alamkanal
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')
Väljund
('P', 'y', 't') ('y', 'h')
Näide 5: Negatiivse indeksi abil saate alamloendi ja alamgrupi
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')
Väljund
('n', 'o', 'h') ('n', 'h')
Näide 6: Indekseerimissüntaksi kasutamine viilutamiseks
Lõiguobjekti saab asendada Pythonis indekseeriva süntaksiga.
Viilutamiseks võite vaheldumisi kasutada järgmist süntaksit:
obj (algus: peatus: samm)
Näiteks,
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
Väljund
Püüa jaa