Python for kitties: tipos de datos complejos

¡Hola kitties! ¿Qué tal lleváis las variables de #python ?, ¿habéis hecho ejercicios? La solución al que os puse es bien fácil:

>>> edad = 25
>>> nombre = 'tu nombre'
>>> print edad
25
>>> print nombre
tu nombre
>>> 

En esta entrega vamos a ver 3 tipos más complejos que admiten colecciones de datos: listas, tuplas y diccionarios.

Tupla

Una tupla es una colección de datos de tipos diferentes que no se pueden modificar una vez creados. Para declarar una tupla, se usan paréntesis dentro de los cuales deben separarse por comas los elementos que la forman:

>>> tupla = (22, "hola kitties" , 2.5)
>>> tupla
(22, 'hola kitties', 2.5)
>>> 

Los elementos de una tupla son accesibles a través del índice que ocupan en la misma siendo 0 (cero) el índice del primer elemento, poniendo el mismo entre corchetes:

>>> tupla[0]
22
>>> 

En las tuplas podemos usar también la función, que ya conocemos, len(), que nos regresa el número de elementos de la misma.

>>> len(tupla)
3
>>> 

Y también podemos usar for para recorrerla, por ejemplo así, aunque lo veremos en profundidad más adelante:

for elemento in tupla:
        print elemento

Listas

Una lista es similar a una tupla sólo que con la gran diferencia de que permite modificar los datos una vez creados y en lugar de ir entre paréntesis va entre corchetes:

>>> mi_lista = ["hola kitties", 22, "hago listas" , 2.5]

A las listas se accede igual que a las tuplas por su número de índice:

>>> print mi_lista[1]
22
>>> print mi_lista[-2]
hago listas
>>> 

Como veis otra forma de acceder tanto a las tuplas como a las listas es de forma inversa (de atrás hacia delante), colocando un número negativo. Recordemos que las listas SI permiten agregar nuevos valores o modificar los antiguos, reconvertimos el tercer elemento (recordemos que el primero es cero):

>>> mi_lista[2] = 6
>>> print mi_lista[2]
6
>>> 

Además a diferencia de las tuplas permiten agregar nuevos valores:

>>> mi_lista.append('Nuevo Dato')
>>> print mi_lista
['hola kitties', 22, 6, 2.5, 'Nuevo Dato']
>>> 

Recorrer una lista con el for también es posible. Cabe destacar que una de las principales diferencias entre las tuplas y las listas es que las primeras ocupan menos memoría en el sistema. Por lo que si queremos tener un conjunto de datos que no van a variar es mejor usar una tupla que usar una lista.

Diccionarios

En el sentido clásico llevamos toda la vida usándolos, si abres un diccionario cualquiera al azar, véras un conjunto de términos y definiciones. En Python no es diferente, un conjunto de de claves(palabras) y valores(definiciones), imaginemos que lo usamos para establecer las edades de varias personas:

mi_diccionario = {'paco' : 44, 'pepe' : 55, 'antonia' : 'muchos menos'}
>>> mi_diccionario['antonia']
'muchos menos'
>>> 

Un diccionario permite borrar cualquier entrada:

del(mi_diccionario['paco'])

Y como en las listas modificar valores:

>>> mi_diccionario['pepe'] = 'no se sabe'
>>> print mi_diccionario
{'antonia': 'muchos menos', 'pepe': 'no se sabe'}
>>> 

Una de las posibilidades que abren los diccionarios es la creación de un switch, que no existen como función, en Python. Pero esto lo aprenderemos en próximas lecciones.2 Y hasta aquí la entrega de hoy kitties, os aconsejo que siempre vayáis probando todo en vuestros intérpretes y ver así que pasa si cambiáis esto o lo otro. Espero que lo estéis pasando tan bien como yo aprendiendo cada vez un poco mas de Python. Hasta la próxima!

Compartir

1 Comentario

Deja una respuesta

Your email address will not be published. Required fields are marked *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax