Saltar al contenido

Python: Conjuntos y diccionarios

30/09/2012

Conjuntos

Python provee el tipo de dato set (conjunto) el cual se compone de una lista no ordenada de datos en la cual no hay ningún dato repetido. La forma de creación de un conjunto en python es la siguiente:

conjunto = set(["un", "conjunto", "hecho", "en", "python", 2.7])

Como un conjunto es una lista de elementos no repetidos, entonces, al ejecutar la función set(), ella eliminará elementos repetidos si los hay:

conjunto = set(['a', 'b', 'c', 'c', 'b', 'a'])

El conjunto en el anterior código será, entonces, el siguiente:

set(['a', 'c', 'b'])

Los conjuntos también pueden ser cadenas de caracteres, entendiendo
sus elementos como cada caracter de la cadena, así:

conjunto = set("hola mundo!")

El conjunto representativo será:

set(['a', ' ', 'd', 'h', 'm', 'l', 'o', 'n', '!', 'u'])

Operaciones sobre conjuntos

Sean a y b conjuntos. Hay 4 operaciones básicas sobre los conjuntos y estas son:

  • a – b: Elementos en a que no estén en b
  • a | b: Elementos en a o en b
  • a & b: Elementos en a y que a su vez estan en b
  • a ^ b: Elementos en a o en b que no están en ambos

El resultado de la operación entre conjuntos es, por supuesto, un conjunto.

La lista de operaciones, como se podrán dar cuenta los que sepan algo acerca de teoría de conjuntos, son las mismas operaciones que en dicha teoría, es decir:

  • a – b: Diferencia
  • a | b: Union
  • a & b: Intersección
  • a ^ b: Diferencia simétrica

Diccionarios

Un diccionario es una colección de parejas key:value (clave:valor), donde key representa la palabra clave del diccionario y value representa su valor. Haciendo una analogía a los diccionarios reales, podríamos hablar de un diccionario de español-ingles: imaginemos que en la primera mitad del diccionario se encuentra la pareja key:value donde key es una palabra en español y value es su representación en el idioma ingles.

Los valores que puede contener un diccionario son aquellos que representen un tipo de dato inmutable, por lo cual las listas no pueden hacer parte de un diccionario. Las formas de escribir un diccionario en python son la siguientes:

diccionario1 = {'a':1, 'b':2, 'c':3}
diccionario2 = dict([('a', 1), ('b', 2), ('c', 3)])
diccionario3 = dict(a=1, b=2, c=3)

Otra forma muy útil de hacer diccionarios es utilizar las listas por comprensión, así:

diccionario4 = dict([(x, x**2) for x in range(1,5)])
#Diccionario con parejas x,x2 como clave y valor, respectivamente

Los diccionarios son tipos de datos que en otros lenguajes son llamados “array asociativos” donde la forma de accesar por índice es con la key del array. La forma de accesar a un valor de nuestro diccionario es la siguiente:

diccionario = {'a':1, 'b':2, 'c':3}
print diccionario['a'] #Escribe 1, que es el valor asociado a la clave 'a' 

Por último, me gustaría anotar el hecho de que podemos obtener las keys de nuestro diccionario con la función keys() lo que retorna una lista con las keys del diccionario, así:

diccionario = {'a':1, 'b':2, 'c':3}

for i in diccionario.keys():
    print i

#En el for se escribe el nombre de cada una de las keys asociadas a "diccionario"

Para continuar, explicaré el manejo del import en python , para la inclusión de proyectos de terceros o inclusive módulos del proyecto python ya desarrollados.

Anuncios
Dejar un comentario

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

A %d blogueros les gusta esto: