Hola amigos lectores, hoy vamos a seguir interactuando con este maravilloso lenguaje de programación Python.
Si quieres seguir la pista al tutorial aquí te dejo la entrada anterior:
Aprende Python en pocos días [Parte 0]
Ayer quedamos en que las Cadenas también tienen Subindices, es decir pueden ser recorridas con números, veamos un ejemplo de esto:
var1 = "CADEna"
Tenemos var1 su valor es "CADEna", si quisiéramos extraer la letra "A" podríamos escribir lo siguiente:
print(var1[1])
O también:
var1
Nos dará como respuesta en el python interactivo de la terminal:
La única diferencia es que el "print" omite las comillas, si observamos bien podremos darnos cuenta de detalles minúsculos es Python que nos harán ser mejores programadores.
Espera otro detalle es que la cuenta comienza en 0 ya que si comenzara en 1 la letra 1 seria "C" pero nos damos cuenta que es "A", debes tener en cuenta esto siempre.
Ahora si quisiéramos ver la "a" en var1 tendríamos que escribir lo siguiente:
var1[-1]
Ya va, si te fijas bien he metido un menos 1 dentro de los corchetes, pero habíamos quedado que la cuenta comenzaba en 0, pero nunca he visto ni espero ver -0 así que por esa razón comenzamos a contar de atrás hacia adelante en -1, pero como es eso de -1 sencillo solo cuentas de atrás para adelante.
var1[-1] o var1[5] van a darnos el mismo resultado porque la letra "a" esta en la casilla 6 y es la ultima por eso es -1 pero ademas comenzamos en 0 la cuenta normal y solo tenemos 0,1,2,3,4,5 que serian respectivamente C,A,D,E,n,a.
Ahora creo que ya dominamos las cadenas, pero también podemos comenzar con las listas, ya que hemos visto como una cadena no es más que una lista de caracteres por esta razón se pueden llamar por sub-indices. Pero las cadenas tienen algo importante y es que van siempre entre Corchetes, si quisiéramos hacer una lista real de var1 simplemente llamamos a una función de python:
var2 = list[var1]
La función que hemos usado es "list" simplemente genera de ser posible una lista con los elementos que se le pasen en este caso un string, también podríamos pasar tuplas a lista o listas a tuplas con tuple:
var3 = tuple[var2]
Sorry nos estamos adelantando pero es que las muchas personas no saben para que son las tuplas en Python, las tuplas son simplemente listas que no pueden ser modificadas, en otras palabras las listas son como un saco de regalos donde podemos meter y sacar regalos siempre que queramos, mientras que las tuplas son cajas de regalos que llevan varios o algunos regalos y no pueden abrirse para modificarse, las tuplas en python son muy importantes y debido a su poco uso de manera normal los sistemas grandes como odoo las usan generalmente para pasar datos entre funciones internas, nosotros vamos a usar las tuplas para generar los CSV y usar pandas ya al final de este tutorial.
Ahora vamos a ver como trabajar con listas, recuerda que dijimos que una lista es como un saco de regalos que podemos abrir y sacar o meter regalos pero como funciona eso, al decir verdad existen varias formas de trabajar con listas pero nosotros vamos a trabajar con insert, append para agregar y pop para eliminar. Veamos algunos ejemplos:
Agregando datos en secuencia en una lista, primero debemos crear la lista:
lista_prueba = []
Esto es una lista vaciá ahora vamos a agregarle datos:
lista_prueba.append("1")
Ahora lista es lista_prueba = ["1"] , vamos a seguir agregando:
lista_prueba.append(2)
La lista nos queda así lista_prueba = ["1", 2]: debemos notar que el 1 tiene comillas y el 2 no, si preguntamos de que tipo es cada uno obtendremos esto:
Fijate en que hemos usado la función type que devuelve el tipo de dato que hemos pasado por argumento.
Ya sabemos Agregar datos pero estos datos que vamos agregando se van agregando de manera secuencial, que pasa si necesitamos datos entre el 0 y el 1, tendríamos que usar insert así:
lista_prueba.insert(1, "3")
Esto nos dejaría con una lista así: ["1", "3", 2], podemos observar el "3" antes del 2, esto hace insert simplemente inserta en el subindice que pasemos. Ahora vamos a sacar el 2:
lista_prueba.pop(2)
Esto nos dejaría con una lista así: ["1", "3"], esto ya esta claro creo, pero que pasa con las tuplas pues una ves que creamos una tupla no podemos modificarla es decir no podemos usar pop, append o insert, podemos pasar una lista a tupla una vez ya no necesitamos agregar más datos:
tupla_prueba = tuple(lista_prueba)
Ahora si le preguntamos de que tipo es:
type(tupla_prueba)
Nos dira que es:
<type 'tuple'>
Si intentamos agregar algo con append:
tupla_prueba.append("4")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'tuple' object has no attribute 'append'
Con esto queda claro que simplemente las tuplas no son para esto.
Ahora si tuviéramos estas 2 lista:
Lista_notas = [ 7 , 8 , 5 , 4 , 10 ]
Lista_estudiantes = [ "Jose" , "Carlos" , "Luis" , "Pedro" , "Ramon" ]
Que pasa si quisiéramos ver todo junto en una sola lista pues podríamos hacer listas compuestas, pero seria complicado leer algo asi:
Lista_compuesta = [ ["Jose", 7] , ["Carlos", 8] ]
Para esto existen los diccionarios, ademas los diccionarios hacen todo más rápido por que graban los datos en la RAM, seria algo así:
dict_compuesto = { "Jose":7, "Carlos": 8, "Luis": 5, "Pedro":4 , "Ramon":10}
Bueno en la próxima entrada veremos los Bucles cuando usarlos, crearemos este dict_compuesto y analizaremos las propiedades del diccionario con la API de STEEMIT, ya vamos entrando en materia.
Comenten si sale algo mal o solo para hablar jeje.