En esta presentación aprenderemos unos trucos bastante astuciosos para transformar cadenas de caracteres a listas y viceversa. En muchas ocasiones nos encontraremos convirtiendo cadenas en listas y viceversa. Python nos ofrece una serie de utilidades que conviene conocer si queremos ahorrarnos muchas horas de programación. Veamos. Si queremos convertir una cadena caracteres a una lista utilizamos el método "split" de la clase "string". Miremos esto en un ejemplo. Tenemos nuestra cadena uno, dos y tres; las palabras están separadas por un carácter de separación. Si sobre esta cadena aplicamos el método "split" y el resultado lo guardamos en una variable llamada lista, en esta variable lista nos queda una lista con tres elementos de tipo "string". Cada uno de esos elementos corresponde a una palabra de la cadena original. ¿Cómo hace el método "split" para saber qué debe romper por palabras? Es muy simple, como lo estamos utilizando sin parámetros, Python por defecto toma el espacio en blanco como carácter de separación para acortar ese "string" y guardar cada una de las palabras como elementos diferentes dentro de una lista. Ahora bien, si queremos utilizar un carácter de separación diferente del espacio en blanco, podemos hacerlo simplemente utilizando el método "split" y poniendo como parámetro el carácter que queremos utilizar para separar las palabras y meterlas dentro de una lista. Es así como podemos dividir esta cadena y transformarla en una lista con tres elementos, "Hola, cómo estás?", donde cada elemento corresponde a una palabra de la cadena original. Ahora bien, si lo que queremos es efectuar la operación inversa, esto es, obtener una cadena con los valores de una lista, utilizamos el método "join" de la clase "string". Veamos como funciona. Tenemos una lista, en esta lista tenemos tres elementos: los "strings" uno, dos y tres. Queremos convertir esto en una cadena de caracteres. Lo primero que debemos hacer es escoger el carácter que va a ir entre cada uno de los elementos de la lista para unirlos en una sola cadena. En este primer ejemplo utilizamos el espacio en blanco, sobre este "string" aplicamos el método "join" con nuestra lista que pasamos por parámetro. Obtenemos como resultado una cadena de caracteres con todos estos elementos que constituyen los elementos de la lista original, pero en una misma cadena separados por el espacio en blanco. Si en lugar de este espacio en blanco utilizamos dos guiones, pues vamos a obtener una cadena de caracteres con estos elementos separados entre sí por el doble guion. Si utilizamos los dos puntos, pues obtendremos este resultado. Veamos otra astucia bien interesante. Recordemos que "list", además de ser un tipo, es una función que nos sirve para construir una lista. Ya lo habíamos visto antes en el curso mezclado con la función "range". Si recuerdan con "range" generamos una secuencia de valores numéricos entre estos dos límites, parando siempre uno antes del límite superior. Cogemos esa secuencia de valores numéricos y la transformamos en una lista gracias a la función "list". Por consiguiente, la variable "a" tiene por dentro una lista con los valores uno, dos y tres. Lo interesante es que eso también funciona con cadenas de caracteres. Si hacemos el llamado a la función "list" y le pasamos por parámetro una cadena de caracteres, nos va a devolver como resultado una lista donde cada carácter constituye un elemento de dicha lista. Si pasamos, por ejemplo, "la Casa Blanca", obtendremos una lista con los elementos "l", "a", espacio en blanco "c", "a", "s", "a" y así sucesivamente. Pero cuidado, que la función "list" no sirve si pasamos como parámetro un número. Entonces pensemos, si queremos tener un valor numérico y transformarlo en una lista cuyos elementos sean cada uno de los dígitos de este número, ¿qué debemos hacer? Tomémonos unos minutos para pensar en la solución.