Fork me on GitHub

Páginas

miércoles, 20 de agosto de 2008

Listas, tuplas y diccionarios



Listas en Python 

Las listas son un array con valores. Cada uno de ellos está numerado, a partir de cero - el primero se numera como cero, el segundo 1, el tercero 2, etc.
Se puede quitar los valores de la lista, y añadir nuevos valores a la final. Ejemplo: nombres de mascotas.
Una lista contiene elementos separados por comas y encerrados entre corchetes ([]).
Hasta cierto punto, las listas son similares a las matrices en C. Una diferencia entre ellas es que todos los elementos que pertenecen a una lista puede ser de tipo de datos diferente.
Los valores almacenados en una lista se puede acceder utilizando corchetes ([]) y hacer slice ([:]) con los índices a partir del 0 en el principio de la lista hasta el final n.
por ejemplo:


#!/usr/bin/python

lista = ['abcd', 786, 2.23, 'Juan', 70.2]
lista2 = [123, 'Juan']
print lista # Imprime la lista completa
print lista[0]# Imprime primer elemento de la lista
print lista[1:3] # Imprime los elementos a partir del 2 al 3
print lista[2:]# Imprime los elementos a partir de 3er elemento
print lista2 * 2 # Imprime la lista dos veces
print lista + lista2 # Imprime las listas concatenadas

Esto producirá el siguiente resultado:

['abcd', 786, 2.23, 'Juan', 70.2]
abcd
[786, 2,23]
[2.23, 'Juan', 70.2]
[123, 'Juan', 123, 'Juan']
['abcd', 786, 2.23, 'Juan', 70.2, 123, 'Juan']

Tuplas en Python

Las tuplas son como listas, pero no pueden cambiar sus valores. Los valores que le dan por primera vez, son los valores durante resto del programa. Una vez más, cada valor se numera a partir de cero, para facilitar su consulta. Ejemplo: los nombres de los meses del año.
Las principales diferencias entre las listas y las tuplas son: Las listas se escriben entre corchetes ([]), y sus elementos y el tamaño se puede cambiar, mientras que las tuplas se incluyen entre paréntesis (()) no se puede actualizar. Las tuplas pueden ser considerados como listas de sólo lectura.
 por ejemplo:

#!/usr/bin/python

tupla = ('abcd', 786, 2.23, 'Juan', 70.2)
tupla2 = (123, 'Juan')
print tupla #  Imprime la tuplacompleta
print tupla[0] # Imprime primer elemento de la tupla
print tupla[1:3] # Imprime los elementos a partir del 2 al 3
print tupla[2:] # Imprime los elementos a partir de 3er elemento
print tupla2 * 2 # imprime dos veces
print tupla + tupla2 # Imprime las tuplas concatenadas

Esto producirá el siguiente resultado:


('abcd', 786, 2.23, 'Juan', 70.2)
abcd
(786, 2.23)
(2,23, 'Juan', 70.2)
(123, 'Juan', 123, 'Juan')
('abcd', 786, 2.23, 'Juan', 70.2, 123, 'Juan')

Diccionarios en Python

Los diccionarios, tiene un "índice" y para cada uno de ellos una definición. En python, la palabra se llama "clave", y la definición "valor". Los valores de un diccionario no están numerados y no están en ningún orden específico. Se puede agregar, eliminar y modificar los valores en los diccionarios. Un ejemplo de diccionario seria una guía telefónica.
Funcionan como arrays asociativos o hashes y se forman  como clave-valor.
Las claves pueden ser de cualquier tipo, pero suelen ser números o cadenas. Los valores, por otro lado, puede ser cualquier objeto Python arbitrario.
Los diccionarios se escribe entre llaves ({}) y los valores pueden ser asignados y se accede utilizando corchetes ([]).
por ejemplo:

#!/usr/bin/python
 
dict = {} dict = {} 
dict['uno'] = "Este es uno" 
dict[2] = "Esto es dos" 
tinydict = {'nombre': 'Juan', 'código': 6734, 
            'Departamento': 'ventas'}
print dict['uno'] # imprime el valor de la clave 'uno'
print dict[2] # imprime el valor de la clave 2 
print tinydict # Imprime diccionario tinydict completo 
print tinydict.keys() # Imprime todas las claves 
print tinydict.values() # imprime todos los valores
Esto producirá el siguiente resultado:
Este es uno
Esto es dos
{'Departamento': 'ventas', 'código': 6734, 'nombre': 'Juan'}
['Departamento', 'código', 'nombre']
['ventas', 6734, 'Juan']

Resumen
Los diccionarios no tienen concepto de orden entre sus elementos. Es incorrecto decir que los elementos están "fuera de orden", sino que simplemente no hay un orden. Las listas se caracterizan por ser mutables, es decir, se puede cambiar su contenido en tiempo de ejecución, mientras que las tuplas son inmutables ya que no es posible modificar el contenido una vez creada.

.