Indexación y Segmentación
Las cadenas son secuencias: cada carácter tiene una posición (un índice). Python utiliza indexación basada en cero, por lo que el primer carácter está en el índice 0. Puedes obtener caracteres individuales mediante la indexación y rangos de caracteres mediante el corte (slicing).
Indexación
Utiliza corchetes con una sola posición.
123s = "python" print(s[0]) # 'p' (first character) print(s[5]) # 'n' (sixth character)
Los índices negativos cuentan desde el final.
123s = "python" print(s[-1]) # 'n' (last character) print(s[-2]) # 'o' (second from the end)
El índice debe corresponder a una posición existente, de lo contrario se produce un IndexError.
12s = "python" print(s[10]) # IndexError: string index out of range
Además, las cadenas son inmutables, por lo que se puede leer s[i] pero no asignar un valor a esa posición.
12s = "python" s[0] = 'P' # TypeError: 'str' object does not support item assignment
Segmentación
Un segmento utiliza start:stop:step y devuelve una nueva cadena. stop es exclusivo (no se incluye).
12345s = "python" print(s[1:4]) # 'yth' (indices 1,2,3) print(s[:4]) # 'pyth' (start defaults to 0) print(s[3:]) # 'hon' (stop defaults to len(s)) print(s[::2]) # 'pto' (every 2nd character)
Los segmentos son tolerantes: si se exceden los límites, simplemente se ajustan a los valores válidos (sin error).
12s = "python" print(s[0:100]) # 'python'
Índices negativos e inversión
Es posible combinar índices negativos en los cortes, y un step negativo recorre la cadena hacia atrás.
123s = "python" print(s[-3:]) # 'hon' (last three) print(s[::-1]) # 'nohtyp' (reverse)
step no puede ser 0. Omitir step implica 1. Omitir start o stop significa "desde el principio" / "hasta el final".
1. ¿Qué valor mostrará este código?
2. ¿Qué valor mostrará este código?
3. ¿Qué instrucción genera un error para u = "hello"?
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Can you explain more about how slicing works with different step values?
What happens if I use both negative start and stop indices in a slice?
Can you show more examples of string indexing and slicing?
Awesome!
Completion rate improved to 3.45
Indexación y Segmentación
Desliza para mostrar el menú
Las cadenas son secuencias: cada carácter tiene una posición (un índice). Python utiliza indexación basada en cero, por lo que el primer carácter está en el índice 0. Puedes obtener caracteres individuales mediante la indexación y rangos de caracteres mediante el corte (slicing).
Indexación
Utiliza corchetes con una sola posición.
123s = "python" print(s[0]) # 'p' (first character) print(s[5]) # 'n' (sixth character)
Los índices negativos cuentan desde el final.
123s = "python" print(s[-1]) # 'n' (last character) print(s[-2]) # 'o' (second from the end)
El índice debe corresponder a una posición existente, de lo contrario se produce un IndexError.
12s = "python" print(s[10]) # IndexError: string index out of range
Además, las cadenas son inmutables, por lo que se puede leer s[i] pero no asignar un valor a esa posición.
12s = "python" s[0] = 'P' # TypeError: 'str' object does not support item assignment
Segmentación
Un segmento utiliza start:stop:step y devuelve una nueva cadena. stop es exclusivo (no se incluye).
12345s = "python" print(s[1:4]) # 'yth' (indices 1,2,3) print(s[:4]) # 'pyth' (start defaults to 0) print(s[3:]) # 'hon' (stop defaults to len(s)) print(s[::2]) # 'pto' (every 2nd character)
Los segmentos son tolerantes: si se exceden los límites, simplemente se ajustan a los valores válidos (sin error).
12s = "python" print(s[0:100]) # 'python'
Índices negativos e inversión
Es posible combinar índices negativos en los cortes, y un step negativo recorre la cadena hacia atrás.
123s = "python" print(s[-3:]) # 'hon' (last three) print(s[::-1]) # 'nohtyp' (reverse)
step no puede ser 0. Omitir step implica 1. Omitir start o stop significa "desde el principio" / "hasta el final".
1. ¿Qué valor mostrará este código?
2. ¿Qué valor mostrará este código?
3. ¿Qué instrucción genera un error para u = "hello"?
¡Gracias por tus comentarios!