Python-skiva ()

Funktionen slice () returnerar ett segmentobjekt som kan användas för att skära strängar, listor, tuple etc.

Skivobjektet används för att skära en given sekvens (sträng, byte, tupel, lista eller intervall) eller något objekt som stöder sekvensprotokoll (implementerar __getitem__()och __len__()metod).

Syntaksen för slice()är:

 skiva (start, stopp, steg)

slice () Parametrar

slice() kan ta tre parametrar:

  • start (valfritt) - Startar heltal där objektets skärning börjar. Standard Noneom det inte tillhandahålls.
  • stopp - Heltal tills skivningen sker. Skärningen stoppar vid indexstopp -1 (sista elementet) .
  • steg (valfritt) - Heltalsvärde som bestämmer inkrementet mellan varje index för skivning. Standardvärdena Noneom de inte tillhandahålls.

Exempel 1: Skapa ett skivobjekt för skivning

 # contains indices (0, 1, 2) result1 = slice(3) print(result1) # contains indices (1, 3) result2 = slice(1, 5, 2) print(slice(1, 5, 2))

Produktion

 skiva (Ingen, 3, Ingen) skiva (1, 5, 2) 

Här, result1och result2är skiva objekt.

Nu vet vi om segmentobjekt, låt oss se hur vi kan få substring, sub-list, sub-tuple, etc. från segmentobjekt.

Exempel 2: Hämta substring med skivobjekt

 # 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

Produktion

 Pyt yhn 

Exempel 3: Hämta substring med negativt index

 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

Produktion

 nej 

Exempel 4: Hämta sublista och subtuple

 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') 

Produktion

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

Exempel 5: Hämta sublista och sub-tuple med negativt index

 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')

Produktion

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

Exempel 6: Använda indexeringssyntax för skivning

Skivobjektet kan ersättas med indexeringssyntaxen i Python.

Du kan växelvis använda följande syntax för skivning:

 obj (start: stop: step)

Till exempel,

 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

Produktion

 Pyt yh 

Intressanta artiklar...