Gibt es eine Möglichkeit, eine Zeichenfolge in Python zu unterteilen, um eine neue Zeichenfolge aus dem 3.
Vielleicht wie myString[2:end]
?
Ja, das funktioniert tatsächlich, wenn Sie zuweisen, oder binden , der Name, end
zu konstantem Singleton, None
:
>>> end = None
>>> myString = '1234567890'
>>> myString[2:end]
'34567890'
Die Slice-Notation hat 3 wichtige Argumente:
Wenn sie nicht angegeben werden, sind die Standardwerte None
- aber wir können sie explizit übergeben:
>>> stop = step = None
>>> start = 2
>>> myString[start:stop:step]
'34567890'
Wenn das Verlassen des zweiten Teils "bis zum Ende" bedeutet, beginnt es dann von vorne, wenn man den ersten Teil verlässt?
Ja, zum Beispiel:
>>> start = None
>>> stop = 2
>>> myString[start:stop:step]
'12'
Beachten Sie, dass wir Start in den Slice einbeziehen, aber nur bis und nicht einschließlich Stop gehen.
Wenn der Schritt None
verwendet das Slice standardmäßig 1
für den Schritt. Wenn Sie einen Schritt mit einer negativen ganzen Zahl machen, ist Python schlau genug, um vom Ende zum Anfang zu gehen.
>>> myString[::-1]
'0987654321'
Ich erkläre die Slice-Notation sehr ausführlich in meine Antwort auf Explain slice notation Frage.
3 Stimmen
Diese enthält eine klare Erklärung pythoncentral.io/cutting-and-slicing-strings-in-python