¿Hay alguna manera de subcadenar una cadena en Python, para obtener una nueva cadena desde el tercer carácter hasta el final de la cadena?
Tal vez como myString[2:end]
?
Sí, esto realmente funciona si asigna o vincula el nombre end
a singleton constante None
:
>>> end = None
>>> myString = '1234567890'
>>> myString[2:end]
'34567890'
La notación de corte tiene 3 argumentos importantes:
Sus valores predeterminados cuando no se dan son None
, pero podemos pasarlos explícitamente:
>>> stop = step = None
>>> start = 2
>>> myString[start:stop:step]
'34567890'
Si dejar la segunda parte significa 'hasta el final', si deja la primera parte, ¿comienza desde el principio?
Si, por ejemplo:
>>> start = None
>>> stop = 2
>>> myString[start:stop:step]
'12'
Tenga en cuenta que incluimos start en el segmento, pero solo subimos, y no incluimos, stop.
Cuando el paso es None
, de forma predeterminada, el segmento se utiliza 1
para el paso. Si pisas con un entero negativo, Python es lo suficientemente inteligente como para ir desde el final hasta el principio.
>>> myString[::-1]
'0987654321'
Explico la notación de corte con gran detalle en mi respuesta a la pregunta Explicar la notación de corte.