Die Slice () -Funktion gibt ein Slice-Objekt zurück, mit dem Zeichenfolgen, Listen, Tupel usw. geschnitten werden können.
Das Slice-Objekt wird verwendet, um eine bestimmte Sequenz (String, Bytes, Tupel, Liste oder Bereich) oder ein beliebiges Objekt, das das Sequenzprotokoll unterstützt (Implementierungen __getitem__()
und __len__()
Methode) , zu schneiden .
Die Syntax von slice()
lautet:
Scheibe (Start, Stopp, Schritt)
Slice () -Parameter
slice()
kann drei Parameter annehmen:
- start (optional) - Start der Ganzzahl, an der das Schneiden des Objekts beginnt. Standard,
None
falls nicht angegeben. - stop - Ganzzahl, bis zu der das Schneiden erfolgt. Das Schneiden stoppt bei Indexstopp -1 (letztes Element) .
- Schritt (optional) - Ganzzahliger Wert, der das Inkrement zwischen den einzelnen Indizes für das Schneiden bestimmt. Der Standardwert ist,
None
wenn nicht angegeben.
Beispiel 1: Erstellen Sie ein Slice-Objekt zum Schneiden
# contains indices (0, 1, 2) result1 = slice(3) print(result1) # contains indices (1, 3) result2 = slice(1, 5, 2) print(slice(1, 5, 2))
Ausgabe
Scheibe (Keine, 3, Keine) Scheibe (1, 5, 2)
Hier result1
und result2
sind Slice-Objekte.
Jetzt kennen wir uns mit Slice-Objekten aus. Lassen Sie uns sehen, wie wir aus Slice-Objekten Teilzeichenfolgen, Unterlisten, Unter-Tupel usw. erhalten können.
Beispiel 2: Holen Sie sich den Teilstring mit dem Slice-Objekt
# 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
Ausgabe
Pyt yhn
Beispiel 3: Teilzeichenfolge mit negativem Index abrufen
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
Ausgabe
nein
Beispiel 4: Unterliste und Untertupel abrufen
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')
Ausgabe
('P', 'y', 't') ('y', 'h')
Beispiel 5: Unterliste und Untertupel mit negativem Index abrufen
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')
Ausgabe
('n', 'o', 'h') ('n', 'h')
Beispiel 6: Verwenden der Indizierungssyntax zum Schneiden
Das Slice-Objekt kann in Python durch die Indizierungssyntax ersetzt werden.
Sie können alternativ die folgende Syntax zum Schneiden verwenden:
obj (start: stop: step)
Beispielsweise,
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
Ausgabe
Pyt yh