Curso Programando con Python Clase 9

Estructuras de datos – Diccionarios

 

Un diccionario es una secuencia de pares clave,valor que pueden ser de cualquier tipo.

Se usan para buscar en la secuencia de forma asociativa por una clave en vez de por un índice como en las listas. 

El uso típico es para implementar un diccionario entre dos idiomas

 

Ejemplo

Diccionario para traducir del español al inglés

esp_ing = { ‘uno’: ‘one’, ‘dos’:’two’, ‘tres’: ‘three’}

El diccionario se indica con corchetes {} y los elementos separados por comas.

Hay que tener en cuenta que el orden de las claves,valor no se almacena tal como se define.

 

En el diccionario podemos buscar por la clave

Ejemplo

esp_ing[‘dos’] seria ‘two’

Operaciones sobre diccionarios

len(d) devuelve el número de elementos del diccionario

d.values() devuelve una lista con los valores del diccionario (sin las claves)

d.keys() devuelve una lista con las claves del diccionario (sin los valores)

c in d devuelve True si la clave c está en el diccionario

d[c] = v si la clave c está en el diccionario asocia el valor v a la clave c

si c no está en el diccionario añade la clave c y le asocia el valor v

 

Ejemplo: Contar palabras de un texto

Un uso muy común de los diccionarios es contar las palabras que hay en un texto o párrafo.

texto = »’esto es un texto de pruebas para contar las palabras con un                         diccionario este texto no tiene muchas palabras»’

contadores = dict()
palabras = texto.split()
for palabra in palabras:
if palabra not in contadores:
contadores[palabra] = 1
else:
contadores[palabra] = contadores[palabra]+1

print (contadores)

 

1 se crea un diccionario vacío contadores con dict()

2  se extraen las palabras del texto con texto.split() y se ponen en la lista palabras

3 se recorren las palabras de la lista

4 si la palabra no está como clave en el diccionario se añade la palabra como clave y se le asocia el valor 1

7 si la palabra ya está en el diccionario se incrementa su contador

 

Si ejecutamos el ejemplo anterior saldría algo como

{‘esto’: 1, ‘es’: 1, ‘un’: 2, ‘texto’: 2, ‘de’: 1, ‘pruebas’: 1, ‘para’: 1, ‘contar’: 1, ‘las’: 1, ‘palabras’: 2, ‘con’: 1, ‘diccionario’: 1, ‘este’: 1, ‘no’: 1, ‘tiene’: 1, ‘muchas’: 1}

 

 

Indice del Curso Programando con Python

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *