Ir al contenido principal

Entradas

Mostrando las entradas etiquetadas como Acceso a los elementos

7.6. Las cadenas son inmutables

Es tentador usar el operador [] en el lado izquierdo de una asignación, con la intención de cambiar un carácter en una cadena. Por ejemplo: 1: saludo = "Hola, mundo" 2: saludo[0] = 'M' # ERROR! 3: print saludo En lugar de presentar la salida Mola, mundo, este codigo presenta el siguiente error en tiempo de ejecucion TypeError : object doesn't 1: support item 2: assignment. Las cadenas son inmutables, lo que signi¯ca que no puede cambiar una cadena existente. Lo mas que puede hacer es crear una nueva cadena que sea una variacion de la original: 1: saludo = "Hola, mundo" 2: nuevoSaludo = 'M' + saludo[1:] 3: print nuevoSaludo Aquí la solución es concatenar una nueva primera letra a una porción de saludo. Esta operación no tiene efectos sobre la cadena original.

8.2. Acceso a los elementos

La sintaxis para acceder a los elementos de una lista es la misma que para acceder a los caracteres de una cadena: el operador corchetes []. La expresión dentro de los corchetes especifica el índice. Recuerde que los índices siempre comienzan en cero: 1: print numeros[0] 2: numeros[1] = 5 El operador [] puede aparecer en cualquier parte de una expresion. Cuando aparece a la izquierda de una asignacion, cambia uno de los elementos de la lista, de manera que el “unesimo” elemento de numeros, que era 123, ahora es 5. Se puede usar como índice cualquier expresion entera. 1: >>> numeros[3-2] 2: 5 3: >>> numeros[1.0] 4: TypeError: 5: sequence index must be integer Si intenta acceder (leer o modificar) un elemento que no existe, obtendra un error en tiempo de ejecución: 1: >>> numeros[2] = 5 2: IndexError: list assignment index out of 3: range Si se da un índice negativo, se cuenta hacia atras desde el final de la lista. ...