Python-segment ()

De functie slice () retourneert een slice-object dat kan worden gebruikt om strings, lijsten, tuple enz.

Het slice-object wordt gebruikt om een ​​bepaalde sequentie (string, bytes, tuple, lijst of bereik) of elk object dat sequentieprotocol (implementaties __getitem__()en __len__()methode) ondersteunt, te segmenteren .

De syntaxis van slice()is:

 slice (start, stop, stap)

slice () Parameters

slice() kan drie parameters aannemen:

  • start (optioneel) - Beginnend geheel getal waar het segmenteren van het object begint. Standaard Noneindien niet opgegeven.
  • stop - Geheel getal totdat het snijden plaatsvindt. Het snijden stopt bij indexstop -1 (laatste element) .
  • step (optioneel) - Integer-waarde die de toename tussen elke index voor segmentering bepaalt. Standaard Noneindien niet opgegeven.

Voorbeeld 1: maak een segmentobject om te snijden

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

Uitvoer

 slice (Geen, 3, Geen) slice (1, 5, 2) 

Hier, result1en result2zijn plakobjecten.

Nu we weten over slice-objecten, laten we eens kijken hoe we substring, sub-list, subtuple, etc. kunnen halen uit slice-objecten.

Voorbeeld 2: haal de subtekenreeks op met behulp van een segmentobject

 # 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

Uitvoer

 Pyt yhn 

Voorbeeld 3: haal subtekenreeks op met een negatieve 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

Uitvoer

 nee 

Voorbeeld 4: verkrijg een sublijst en een subtupel

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

Uitvoer

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

Voorbeeld 5: verkrijg sublijst en subtupel met behulp van een negatieve 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')

Uitvoer

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

Voorbeeld 6: Indexeringssyntaxis gebruiken voor segmentering

Het slice-object kan worden vervangen door de indexeringssyntaxis in Python.

U kunt afwisselend de volgende syntaxis gebruiken voor segmentering:

 obj (start: stop: stap)

Bijvoorbeeld,

 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

Uitvoer

 Pyt yh 

Interessante artikelen...