Python slice ()

Funkce slice () vrací objekt slice, který lze použít k rozdělení řetězců, seznamů, n-tice atd.

Objekt řezu se používá k řezání dané sekvence (řetězec, bajty, n-tice, seznam nebo rozsah) nebo libovolného objektu, který podporuje protokol sekvence (nástroje __getitem__()a __len__()metoda).

Syntaxe slice()je:

 plátek (start, stop, krok)

parametry slice ()

slice() může mít tři parametry:

  • start (volitelně) - Počáteční celé číslo, kde začíná řezání objektu. Výchozí hodnota, Nonepokud není uvedena.
  • stop - Celé číslo, do kterého probíhá krájení. Řezání se zastaví na dorazu indexu -1 (poslední prvek) .
  • step (volitelně) - celočíselná hodnota, která určuje přírůstek mezi každým indexem pro krájení. Výchozí nastavení, Nonepokud není k dispozici.

Příklad 1: Vytvořte objekt řezu pro krájení

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

 plátek (žádný, 3, žádný) plátek (1, 5, 2) 

Tady result1a result2jsou objekty řezu.

Nyní víme o řezných objektech, podívejme se, jak můžeme získat podřetězce, podřízený seznam, podřízenou n-tici atd. Z objektů řezu.

Příklad 2: Získejte podřetězec pomocí objektu řezu

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

 Pyt yhn 

Příklad 3: Získejte podřetězec pomocí 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ýstup

 noh 

Příklad 4: Získejte sublist a podtupec

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

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

Příklad 5: Získejte sublist a podtupec pomocí negativního 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ýstup

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

Příklad 6: Použití syntaxe indexování pro krájení

Objekt řezu lze v Pythonu nahradit syntaxí indexování.

Pro krájení můžete střídavě použít následující syntaxi:

 obj (start: stop: krok)

Napří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ýstup

 Pyt yh 

Zajímavé články...