Lecciones del módulo (2/4)
Slicing e indexación
En Python, las cadenas son secuencias de caracteres: puedes acceder a
caracteres individuales por índice y extraer subcadenas con la sintaxis
de corte [start:stop:step] — exactamente como con las listas.
Índices positivos y negativos
s = "Python"
# 0123456
# -6-5-4-3-2-1
s[0] # 'P'
s[5] # 'n'
s[-1] # 'n' (ultimo)
s[-2] # 'o' (penultimo)El acceso fuera de rango genera un IndexError.
Corte (Slicing) [start:stop:step]
s = "Python"
s[0:3] # 'Pyt' indici 0,1,2 (stop ESCLUSO)
s[2:] # 'thon' dal 2 alla fine
s[:3] # 'Pyt' dall'inizio fino al 3 (escluso)
s[:] # 'Python' copia completa
s[-3:] # 'hon' ultimi 3
s[:-2] # 'Pyth' tutto tranne gli ultimi 2A diferencia de la indexación, el corte NO genera errores si los índices están fuera de rango: extrae lo que puede.
El tercer argumento: step
s = "Python"
s[::2] # 'Pto' salta uno sì uno no
s[1::2] # 'yhn' dispari
s[::-1] # 'nohtyP' INVERSIONE (idiom famoso)s[::-1] es la forma idiomática de invertir una cadena.
Longitud y contención
len("Python") # 6
"th" in "Python" # True
"java" in "Python" # FalseÍndices negativos y paso (step) en el corte
La sintaxis completa del corte es s[start:stop:step]. Si omites start y stop pero estableces un step negativo de -1 (s[::-1]), inviertes la cadena. El índice negativo -1 siempre representa el último carácter de la cadena, -2 es el penúltimo, etc.
Pruébalo tú
Dada `word = 'PROGRAMMAZIONE'`, obtén su inversa en `reversed_word`. Evalúa `reversed_word`.
Mostrar pista
word[::-1]
Solución disponible después de 3 intentos
Ejercicio de repaso
Dada `email = 'ada@example.com'`, extrae el dominio (todo lo después de '@') en `domain` usando el corte después de encontrar el índice con .find. Evalúa `domain`.
Mostrar pista
email[email.find('@') + 1:]
Solución disponible después de 3 intentos
Desafío adicional
Dada la cadena `word = "pythonista"`, usa el corte para extraer los primeros 3 caracteres y los últimos 3 caracteres, y concaténalos en una nueva cadena `short_word`. Finalmente, evalúa `short_word` (debería resultar `'pytsta'`).
Mostrar pista
Los primeros 3 caracteres son word[:3], los últimos 3 son word[-3:]. Concatena ambos cortes.
Solución disponible después de 3 intentos