Python admite el uso de la segmentación de cadenas para crear subcadenas. Ten en cuenta que las cadenas en Python son inmutables; al realizar segmentación, se crea una nueva subcadena a partir de la cadena de origen, y la cadena original permanece inalterada.
Segmentación de cadenas en Python
La sintaxis para la segmentación de cadenas en Python es:
str_object[start_pos:end_pos:step]
La segmentación comienza en el índice start_pos (incluido) y termina en el índice end_pos (excluido). El parámetro step se utiliza para especificar los pasos a tomar desde el índice de inicio hasta el índice de fin. La segmentación de cadenas en Python siempre sigue esta regla: s[:i] + s[i:] == s para cualquier índice ‘i’. Todos estos parámetros son opcionales: el valor predeterminado de start_pos es 0, el valor predeterminado de end_pos es la longitud de la cadena y el valor predeterminado de step es 1. Veamos algunos ejemplos simples de la función de segmentación de cadenas para crear subcadenas.
s = 'HelloWorld'
print(s[:])
print(s[::])
Salida:
HelloWorld
HelloWorld
Ten en cuenta que dado que no se proporcionaron ninguno de los parámetros de segmentación, la subcadena es igual a la cadena original. Veamos algunos ejemplos más de cómo segmentar una cadena.
s = 'HelloWorld'
first_five_chars = s[:5]
print(first_five_chars)
third_to_fifth_chars = s[2:5]
print(third_to_fifth_chars)
Salida:
Hello
llo
Ten en cuenta que el valor del índice comienza desde 0, por lo que start_pos 2 se refiere al tercer carácter en la cadena.
Invertir una cadena usando la segmentación
Podemos invertir una cadena utilizando la segmentación al proporcionar el valor de step como -1.
s = 'HelloWorld'
reverse_str = s[::-1]
print(reverse_str)
dlroWolleH
Veamos algunos otros ejemplos de cómo usar pasos y valores de índice negativos.
s1 = s[2:8:2]
print(s1)
Salida: loo
Aquí la subcadena contiene caracteres de los índices 2, 4 y 6.
s1 = s[8:1:-1]
print(s1)
Salida: lroWoll
Aquí los valores de índice se toman de fin a inicio. La subcadena se crea desde los índices 1 hasta 7 de fin a inicio.
s1 = s[8:1:-2]
print(s1)
Salida: lool
La segmentación en Python también funciona con índices negativos, en ese caso, la posición de inicio se excluye y la posición de fin se incluye en la subcadena.
s1 = s[-4:-2]
print(s1)
Salida: or
La segmentación de cadenas en Python maneja elegantemente los índices fuera de rango.
>>>s = 'Python'
>>>s[100:]
''
>>>s[2:50]
'thon'
Eso es todo para la función de segmentación de cadenas en Python para crear subcadenas.
Puedes revisar el script completo de Python y más ejemplos en nuestro Repositorio de GitHub.
Source:
https://www.digitalocean.com/community/tutorials/python-slice-string