C'è un modo per fare la sottostringa di una stringa in Python, per ottenere una nuova stringa dal terzo carattere alla fine della stringa?
Forse come myString[2:end]
?
Se si lascia la seconda parte significa 'fino alla fine', e se si lascia la prima parte, inizia dall'inizio?
>>> x = "Hello World!"
>>> x[2:]
'llo World!'
>>> x[:2]
'He'
>>> x[:-2]
'Hello Worl'
>>> x[-2:]
'd!'
>>> x[2:-2]
'llo Worl'
Python chiama questo concetto "slicing" e funziona su più che semplici stringhe. Date un'occhiata qui per un'introduzione completa.
Un esempio sembra mancare qui: la copia completa (superficiale).
>>> x = "Hello World!"
>>> x
'Hello World!'
>>> x[:]
'Hello World!'
>>> x==x[:]
True
>>>
Questo è un idioma comune per creare una copia di tipi di sequenza (non di stringhe internate), [:]
. Shallow copia una lista, vedi sintassi delle liste Python usata per nessuna ragione ovvia.
Hai capito bene, tranne che per "fine". Si chiama notazione a fette. Il tuo esempio dovrebbe essere letto:
new_sub_string = myString[2:]
Se ometti il secondo parametro è implicitamente la fine della stringa.