Gibt es eine Möglichkeit, eine Zeichenfolge in Python zu unterzeichnen, um eine neue Zeichenfolge vom 3. Zeichen bis zum Ende der Zeichenfolge abzurufen?
Vielleicht wie myString[2:end]?
Ja, dies funktioniert tatsächlich, wenn Sie den Namen einem konstanten Singleton zuweisen oder binden :endNone
>>> end = None
>>> myString = '1234567890'
>>> myString[2:end]
'34567890'
Die Slice-Notation hat 3 wichtige Argumente:
Ihre Standardeinstellungen sind, wenn sie nicht angegeben sind 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, wenn Sie den ersten Teil verlassen, beginnt er von vorne?
Ja zum Beispiel:
>>> start = None
>>> stop = 2
>>> myString[start:stop:step]
'12'
Beachten Sie, dass wir Start in das Slice aufnehmen, aber nur bis zum Stopp und nicht bis zum Stopp.
Wenn Schritt ist None, wird standardmäßig das Slice 1für den Schritt verwendet. Wenn Sie mit einer negativen Ganzzahl arbeiten, ist Python intelligent genug, um vom Ende zum Anfang zu gelangen.
>>> myString[::-1]
'0987654321'
Ich erkläre die Slice-Notation in meiner Antwort auf die Frage zur Erläuterung der Slice-Notation ausführlich .