2012-03-18 10 views
16

Con indici di stringhe, c'è un modo per tagliare a fine stringa senza usare len()? Gli indici negativi iniziano dalla fine, ma [-1] omette il carattere finale.Indici di slice stringa di Python - slice to end of string

word = "Help" 
word[1:-1] # But I want to grab up to end of string! 
word[1:len(word)] # Works but is there anything better? 
+0

Questo è coperto nel tutorial Python e in proprio [risposta standard] del SO (http: //stackoverflow.com/questions/509211/good-primer-for-python-slice-notation) per domande a sezioni. – DSM

+0

OK, sentitevi liberi di cancellare se si tratta di spam! – MachineElf

risposta

22

Si può invece provare a utilizzare:

word[1:] 
+1

Primo! Grazie a tutti. La stenografia di Python è davvero piacevole quando proviene da Javascript, distinguendo solo un po 'di confusione [1:] [-1:] [: 1] [: -1] all'inizio ... – MachineElf

4

Sì, certo, è necessario:

word[1:] 
3

Sei alla ricerca di questo?

>>> word = "Help" 
>>> word[1:] 
'elp' 
13

O anche:

>>> word = "Help" 
>>> word[-3:] 
'elp' 
4

ho trovato me stesso la necessità di specificare l'indice finale come una variabile di input in una funzione. In tal caso, è possibile effettuare end=None. Per esempio:

def slice(val,start=1,stop=None) 
    return val[start:stop] 

word = "Help" 
slice(word) # output: 'elp' 
+1

Grazie! Questo è esattamente quello che stavo cercando quando sono venuto qui. Immagino sia rilevante anche per molte altre persone. –

+1

Sì, anche a me .... –

-1
word="Help" 
word[:] 

'Aiuto'

Spero che questo ti aiuta

Problemi correlati