Tutorial 3, Colecciones de datos.

Hola a tod@s, bueno, hoy os voy a hablar sobre las colecciones de datos, si bien las variables almacenaban un valor, las colecciones almacenan un conjunto de valores, normalmente, relacionados entre si, y se dividen en:

Listas:

Las listas almacenan datos de forma secuencial, es decir, uno detrás de otro, las listas pueden ser modificadas, se pueden añadir un nuevo elemento, borrar alguno, etc, aquí un ejemplo:

 lista=[1, 2, 3, 4]

Aquí tenemos una lista llamada "lista" que tiene los elementos "1", "2", "3" y "4" como veis es tan sencillo como especificar los elementos entre corchetes y ya esta, además en python, podemos crear listas mixtas, esto quiere decir que no nos ata a introducir elementos de un mismo tipo como en otros lenguajes tales como java o c, ejemplo:

lista_mixta=["cadena_de_texto", 58, 4.78, False, 8, True, "hola" ]

Además, podemos acceder a los elementos de una lista, especificando el número del elemento entre corchetes (empieza desde 0) ejemplo:

lista=[1, 2, 3, 4]
print "el primer elemento de la lista es", lista[0]
print "y el tercer elemento de la lista es", lista[2]

Una lista también puede contener una lista dentro, una "sublista" por así decirlo, es así de fácil:

lista=[1, 2, 3, [1, 2] , 4, 5] 

Como podéis observar dentro de la lista hay una sublista que contiene "1" y "2", para acceder a esta sublista, tan solo nos referimos a ella como si fuera un elemento mas de la lista principal, y después nos referimos al elemento de la sublista, ejemplo:

 lista=[1, 2, 3, [1, 2] , 4, 5] 
print "el segundo elemento de la sublista es:", lista[3][1]

Diccionarios:

Son colecciones que relacionan una clave con un valor, por eso se llaman diccionarios, veamos un ejemplo de un diccionario de inventores e inventos:

dic={"Edison" : "bombilla", "Graham" : "teléfono"}

Así de fácil, y para acceder al valor de una clave, escribimos el nombre de la clave entre corchetes, ej:

print "El señor Edison inventó " + dic["edison"]

Así de sencillo.

Tuplas:

Al igual que las listas, las tuplas almacenan datos de forma secuencial, además, la única diferencia práctica es la forma de definirlas:

#el paréntesis no es necesario pero así queda mas claro
tupla=(1, 2, 3, 4)

Pero la diferencia real entre usar listas o tuplas, es que, las tuplas consumen menos memoria que las listas, y que, a las listas, se pueden utilizar unos métodos muy útiles (que los veremos en siguientes tutoriales) para "jugar" con ellas, es decir, las listas se pueden cortar por cierta parte de la lista, borrar algún elemento, invertirlas.... mientras que las tuplas no, las tuplas son inmutables, no se pueden modificar, para algo complejo es mejor usar una lista, pero para algo simple con una tupla es suficiente.

Bueno chic@s, aquí acaba el post de hoy, espero que os haya gustado, tratare este temas mas en profundidad después de hablaros sobre funciones, clases y objetos, pero con esto ya sabéis lo básico sobre colecciones, un abrazo a tod@s y hasta mañana.


4 comentarios:

Dr Coloso dijo...

Te hago una consulta puede ser que la linea que dice asi:

print "El señor Edison inventó " + dic[edison]

Sea asi:

print "El señor Edison invento "+ dic["Edison"]

Por que me da error "NameError: name 'edison' is not defined"

Francisco Dominguez Lerma dijo...

Efectivamente Dr Coloso, a sido un pequeño error mio, gracias por corregirme, ahora mismo lo cambio, gracias.

Francisco Dominguez Lerma dijo...

Es que sin las comillas como lo había puesto al principio, python interpretaba que edison era una variable que claro, no existe, tu imaginate esto:

edison="hola"

y luego

print "El señor Edison invento" + dic[Edison]

aqui sustituiria Edison por su valor, en este caso "hola", por eso daba error, como ves todos nos podemos equivocar y tener fallos tontos.

Dr Coloso dijo...

Ahora lo entendi.
Gracias por la ayuda.