jueves, 5 de febrero de 2015

Cadenas de caracteres - IV

Los índices de las rebanadas tienen valores por defecto útiles; el valor por defecto para el primer índice es cero, el valor por defecto para el segundo índice es la longitud de la cadena a rebanar.

>>> palabra[:2] # Los primeros dos caracteres
'Ay'
>>> palabra[2:] # Todo menos los primeros dos caracteres
'udaA'

A diferencia de las cadenas de texto en C, en Python no pueden ser modificadas. Intentar asignar a una posición de la cadena es un error:

>>> palabra[0] = 'x'
...
TypeError: 'str' object does not support item assignment
>>> palabra[:1] = 'Mas'
Traceback (most recent call last):
File "<stdin>", line 1, in ?
TypeError: 'str' object does not support item assignment

Sin embargo, crear una nueva cadena con contenido combinado es fácil y eficiente:
>>> 'x' + palabra[1:]
'xyudaA'
>>> 'Mas' + palabra[5]
'MasA'
Algo útil de las operaciones de rebanada: s[:i] + s[i:] es s.
>>> palabra[:2] + palabra[2:]
'AyudaA'
>>> palabra[:3] + palabra[3:]
'AyudaA'
Los índices degenerados en las rebanadas son manejados bien: un índice muy largo es reemplazado por
la longitud de la cadena, un límite superior más chico que el límite menor retorna una cadena vacía.
>>> palabra[1:100]
'yudaA'
>>> palabra[10:]
''
>>> palabra[2:1]
''
Los índices pueden ser números negativos, para empezar a contar desde la derecha. Por ejemplo:
>>> palabra[-1] # El último caracter
'A'
>>> palabra[-2] # El penúltimo caracter
'a'
>>> palabra[-2:] # Los últimos dos caracteres
'aA'
>>> palabra[:-2] # Todo menos los últimos dos caracteres
'Ayud'

No hay comentarios:

Publicar un comentario