2012-03-18 13 views
16

Con índices de cadena, ¿hay alguna manera de cortar al final de la cadena sin usar len()? Los índices negativos comienzan desde el final, pero [-1] omite el carácter final.Índices de división de cadenas de Python - división al final de la cadena

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

Esto se explica en el tutorial de Python y en el propio [respuesta estándar] de SO (http: //stackoverflow.com/questions/509211/good-primer-for-python-slice-notation) para preguntas de sectores. – DSM

+0

¡No dude en borrar si es spam! – MachineElf

Respuesta

22

su lugar, puede intentar usar:

word[1:] 
+1

¡Primero! Gracias a todos. La taquigrafía de Python es muy buena cuando viene de Javascript, es un poco confuso distinguir [1:] [-1:] [: 1] [: -1] al principio ... – MachineElf

4

Sí, por supuesto, usted debe:

word[1:] 
3

¿Está buscando esto?

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

O incluso:

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

me encontré necesidad de especificar el índice final como variable de entrada en una función. En ese caso, puede hacer end=None. Por ejemplo:

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

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

¡Gracias! Esto es exactamente lo que estaba buscando cuando vine aquí. Me imagino que es relevante para muchas otras personas también. –

+1

Sí, yo también ... –

-1
word="Help" 
word[:] 

'Ayuda'

espero que esto le ayuda