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
None
indien 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
None
indien 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, result1
en result2
zijn 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