C'è un modo per sottostringa di una stringa in Python, per ottenere una nuova stringa dal 3 ° carattere alla fine della stringa?
Forse piace myString[2:end]
?
Sì, questo in realtà funziona se si assegna o si legano , il nome, end
per costante Singleton, None
:
>>> end = None
>>> myString = '1234567890'
>>> myString[2:end]
'34567890'
La notazione delle sezioni ha 3 argomenti importanti:
I loro valori predefiniti quando non sono indicati sono None
- ma possiamo passarli esplicitamente:
>>> stop = step = None
>>> start = 2
>>> myString[start:stop:step]
'34567890'
Se lasciare la seconda parte significa "fino alla fine", se si lascia la prima parte, inizia dall'inizio?
Sì, ad esempio:
>>> start = None
>>> stop = 2
>>> myString[start:stop:step]
'12'
Nota che includiamo start nella sezione, ma andiamo solo fino a, e non includendo, stop.
Quando il passaggio è None
, per impostazione predefinita la sezione utilizza 1
per il passaggio. Se passi con un numero intero negativo, Python è abbastanza intelligente da andare dalla fine all'inizio.
>>> myString[::-1]
'0987654321'
Spiego la notazione delle sezioni in modo molto dettagliato nella mia risposta a Spiega la domanda sulla notazione delle sezioni.