Ir al contenido principal

Entradas

Mostrando las entradas etiquetadas como slices

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.

7.9. El módulo “string”

El modulo string contiene funciones útiles para manipular cadenas. Como es habitual, tenemos que importar el modulo antes de poder usarlo: 1: >>> import string El modulo string incluye una funcion llamada find que hace lo mismo que la función encuentra que escribimos. Para llamarla debemos especificar el nombre del modulo y el nombre de la funcion por medio de la notacion de punto. 1: >>> fruta = "banana" 2: >>> indice = string.find(fruta, 3: "a" ) 4: >>> print indice 5: 1 Este ejemplo demuestra uno de los beneficios de los modulos: ayudan a evitar las colisiones entre los nombres de las funciones predefinidas y las definidas por el usuario. Al usar la notacion de punto podríamos especificar que version de find queremos en caso de haberle daddo un nombre en ingles a nuestra funcion. En realidad, string.find es mas general que nuestra version. Para empezar, puede encontrar subcadenas, no solo caractere...

8.7. Porciones (slices)

Las operaciones de porciones que vimos en la Sección 7.4 también funcionan en sobre las listas: 1: >>> lista = [ 'a' , 'b' , 'c' , 'd' , 'e' , 'f' ] 2: >>> lista[1:3] 3: [ 'b' , 'c' ] 4: >>> lista[:4] 5: [ 'a' , 'b' , 'c' , 'd' ] 6: >>> lista[3:] 7: [ 'd' , 'e' , 'f' ] 8: >>> lista[:] 9: [ 'a' , 'b' , 'c' , 'd' , 'e' , 'f' ]