Python slice ()

Funkcia slice () vracia objekt slice, ktorý je možné použiť na rozdelenie reťazcov, zoznamov, n-tice atď.

Objekt rezu sa používa na rozdelenie danej sekvencie (reťazec, bajty, n-tica, zoznam alebo rozsah) alebo ľubovoľného objektu, ktorý podporuje protokol sekvencií (nástroje __getitem__()a __len__()metóda).

Syntax slice()je:

 plátok (štart, stop, krok)

parametre slice ()

slice() môže mať tri parametre:

  • start (voliteľné) - Počiatočné celé číslo, kde sa začína rezanie objektu. Predvolené, Noneak nie je poskytnuté.
  • stop - celé číslo, do ktorého dôjde k krájaniu. Krájanie sa zastaví na doraze indexu -1 (posledný prvok) .
  • krok (voliteľné) - celočíselná hodnota, ktorá určuje prírastok medzi každým indexom pre rozdelenie. Predvolené hodnoty, Noneak nie sú poskytnuté.

Príklad 1: Vytvorte objekt rezu na krájanie

 # 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ýkon

 plátok (žiadny, 3, žiadny) plátok (1, 5, 2) 

Tu, result1a result2sú časti objekty.

Teraz vieme o rezaných objektoch. Pozrime sa, ako môžeme z podrezaných objektov získať podreťazec, podzoznam, podnázov.

Príklad 2: Získajte podreťazec pomocou objektu rezu

 # 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ýkon

 Pyt yhn 

Príklad 3: Získajte podreťazec pomocou záporného indexu

 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ýkon

 žiadne h 

Príklad 4: Získajte podzoznam a podnázov

 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ýkon

 ('P', 'y', 't') ('y', 'h') 

Príklad 5: Získajte podlist a podnázov pomocou negatívneho indexu

 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ýkon

 ('n', 'o', 'h') ('n', 'h') 

Príklad 6: Použitie indexovacej syntaxe na rozdelenie

Objekt rezu je možné nahradiť indexovacou syntaxou v Pythone.

Na krájanie môžete alternatívne použiť nasledujúcu syntax:

 obj (štart: stop: krok)

Napríklad,

 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ýkon

 Pyt yh 

Zaujímavé články...