viernes, 6 de febrero de 2015

Cadenas de caracteres - V

Pero notá que -0 es en realidad lo mismo que 0, ¡por lo que no cuenta desde la derecha!
>>> palabra[-0] # (ya que -0 es igual a 0)
'A'
Los índices negativos fuera de rango son truncados, pero esto no funciona para índices de un solo
elemento (no rebanada):
>>> palabra[-100:]
'AyudaA'
>>> palabra[-10] # error
Traceback (most recent call last):
File "<stdin>", line 1, in ?
IndexError: string index out of range 

 Una forma de recordar cómo funcionan las rebanadas es pensar en los índices como puntos entre caracteres, con el punto a la izquierda del primer carácter numerado en 0. Luego, el punto a la derecha del último carácter de una cadena de n caracteres tienen índice n, por ejemplo:

+---+---+---+---+---+---+
| A | y | u | d | a | A |
+---+---+---+---+---+---+
0 1 2 3 4 5 6
-6 -5 -4 -3 -2 -1


La primer fila de números da la posición de los índices 0...6 en la cadena; la segunda fila da los correspondientes índices negativos. La rebanada de i a j consiste en todos los caracteres entre los puntos etiquetados i y j, respectivamente. Para índices no negativos, la longitud de la rebanada es la diferencia de los índices, si ambos entran en los límites. 
Por ejemplo, la longitud de palabra[1:3] es 2. La función incorporada len() devuelve la longitud de una cadena de texto:

>>> s = 'supercalifrastilisticoespialidoso'
>>> len(s)
33

No hay comentarios:

Publicar un comentario