Diferencia entre listas, tuplas y diccionarios en Python
Después de aprender a utilizar los tipos de variables básicos en Python conviene aprender el uso de contenedores avanzados como las listas, tuplas y diccionarios que básicamente son un tipo de arreglo, es decir no guardan solamente un valor sino que podemos imaginarlos como un mueble con múltiples casillas y en cada casilla podemos meter la información que queramos, pero el mueble sigue siendo 1.
Uso de tuplas en Python
Una tupla es una variable donde se pueden almacenar múltiples datos, se caracteriza y se diferencia de las listas porque una vez se ha creado o llenado sus valores ya luego no pueden modificarse, pasemos de inmediato a un ejemplo de tupla para aprender cómo se crean.
tupla1 = ('valor1', 'valor2', 'otro valor mas')
Veamos que primero escribimos el nombre que tendrá nuestra tupla, posterior a utilizar el operador de asignación "=" colocamos entre paréntesis cada valor que estará encerrado entre comillas simples y una coma separará a cada valor.
Otro dato importante a mencionar es que en una tupla podemos almacenar distintos tipos de datos, pueden ser texto, numéricos entre otros, todo dentro de una misma tupla.
tupla2 = ('8', 'mi texto', '50.1')
print (tupla2[1]) # Para ver algun valor indicamos su indice.
En el ejemplo previo utilizamos la función print() ingresando dentro de los paréntesis el nombre de nuestra tupla y entre paréntesis cuadrados el número del índice del dato que queremos leer, el índice viene a ser el número de casilla, en el ejemplo anterior ingresé un 1 por lo tanto se imprimirá el segundo valor, esto se debe a que en los arreglos se empieza a contar desde 0 no desde 1, así si queremos visualizar el primer valor de la tupla2 que sería el '8', tenemos que hacer esto print(tupla[0]).
Definición de listas en Python
Como ya mencioné en la definición de tupla vuelvo a enfatizar que la diferencia o importancia mayor de las listas es que en estas a diferencia de las tuplas puede cambiarse sus valores, vamos a pasar al ejemplo pero primero aclaro que obviamente es necesario que exista alguna diferencia en el código al momento de declarar una lista para que el intérprete de Python entienda que es una lista y no una tupla, esta diferencia es que las listas se encierran entre paréntesis cuadrados cuando se están creando, solo eso, veamos.
lista1 = ['primer valor', 'otro valor', '49', '8.2']
print(lista1[1]) # Visualizar un valor es igual que con las tuplas
Modificando listas en Python
lista1 = ['primer valor', 'otro valor', '49', '8.2']
print(lista1[1]) # Imprimimos el valor de la segunda casilla
lista1[1] = 'valor cambiado' # Cambiamos los datos de la segunda casilla
print(lista1[1]) # Volvemos a imprimir el contenido de la segunda casilla fe nuestra tupla
Quizá se esté preguntando si es necesario utilizar comillas simples 'ejemplo' , la respuesta es no, se puede también utilizar comillas dobles si así lo desea "ejemplo".
Así mismo ha de preguntarse ¿para qué usar tuplas en Python si existen las listas? donde además se puede hacer lo mismo que con las tuplas y también modificar los valores, y la verdad es que si, la recomendación es que si existe la posibilidad de llegar a necesitar la modificación de algún valor mejor siempre use las listas.
Definición y uso de diccionarios en Python
Tenemos una diferencia que en principio parece no muy útil y ciertamente para la mayoría de programas no es muy útil, los diccionarios son muy similares a las tuplas pero tienen el beneficio de utilizar un nombre llamado clave, en lugar de solo utilizar un numero de índice, veamos ya mismo el ejemplo.
Ejemplo de diccionario en Python
diccionario1={'edad':95, 'nombre': 'Codigazo'}
print(diccionario1['edad'])
Una clave es "edad", esto no es posible ni en listas ni en tuplas, su utilidad está en que es más fácil de recordar estas claves que recordar los números de índices, quizá para una lista o tupla con 5 casillas no es importante pero si en ella quiero almacenar 10 a 15 datos distintos será confuso tener que recordar en que numero tengo X dato, esta es además la solución al problema del uso de los array en C++, donde puede ser confuso tener que recordar en que casillas esta la información deseada para consultarla.
if x in dict: