Ver índice de contenidos del libro

6.2. Segmentos de cadenas

Python ofrece también una notación para identificar segmentos de una cadena. La notación es similar a la de los rangos que vimos en los ciclos definidos: a[0:2] se refiere a la subcadena formada por los caracteres cuyos índices están en el rango [0,2):

>>> a[0:2]
'Ve'
 
>>> a[-4:-2]
'ni'
 
>>> a[0:8]
'Veronica'
>>>

Si j es un entero no negativo, se puede usar la notación a[:j] para representar al segmento a[0:j]; también se puede usar la notación a[j:] para representar al segmento a[j:len(a)].

>>> a[:3]
'Ver'
 
>>> a[3:]
'onica'
 
>>>

Pero hay que tener cuidado con salirse del rango (en particular hay que tener cuidado con la cadena vacía):

>>> a[10]
Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
IndexError: string index out of range
>>>
>>> s=""
>>> s
''
>>> len(s)
0
>>> s[0]
Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
IndexError: string index out of range

Sin embargo s[0:0] no da error. ¿Por qué?

>>> s[0:0]
''
>>>

Ejercicio 6.2. Investigar qué significa la notación a[:].

Ejercicio 6.3. Investigar qué significan las notaciones a[:j] y a[j:] si j es un número negativo.

Copyright (c) 2011-2014 Rosita Wachenchauzer, Margarita Manterola, Maximiliano Curia, Marcos Medrano, Nicolás Paez. La copia y redistribución de esta página se permite bajo los términos de la licencia Creative Commons Atribución - Compartir Obras Derivadas Igual 3.0 siempre que se conserve esta nota de copyright.