目次
1. ¿Qué es un arreglo asociativo (diccionario) en Python?
En Python, el “arreglo asociativo” es una estructura de datos que gestiona la información mediante pares de clave y valor. En general, lo que se conoce como “arreglo asociativo” se ofrece en Python como el tipodict
.
Por ejemplo, al usar el nombre como clave y la edad o la ocupación como valores, se pueden realizar búsquedas y gestiones de datos de manera eficiente.
En este contexto, una “clave” es un identificador único que permite especificar cada dato, y cada clave debe ser única.Diferencias entre el tipo diccionario y otras estructuras de datos
La característica del tipo diccionario es la búsqueda rápida mediante claves. En comparación con tipos secuenciales como listas o tuplas en Python, en lugar de buscar elementos secuencialmente, se accede directamente a la clave, lo que mejora considerablemente la velocidad de búsqueda. Especialmente cuando se manejan grandes volúmenes de datos o en escenarios donde las búsquedas son frecuentes, el tipo diccionario resulta muy útil.# Ejemplo de diccionario
person = {
"nombre": "Tanaka",
"edad": 30,
"ocupación": "Ingeniero"
}
print(person["nombre"]) # salida: Tanaka
2. Cómo crear diccionarios en Python
Python permite crear diccionarios de varias maneras. La notación literal, la funcióndict()
, la función zip()
, etc., se pueden elegir según la situación.Método usando notación literal
La notación literal usa llaves{}
para crear el diccionario, es la más común y sencilla.
Con la notación literal, se pueden definir claves y valores en una sola línea, creando el diccionario de forma intuitiva.# Notación literal
fruit_prices = {
"manzana": 100,
"plátano": 150,
"naranja": 200
}
Método usando la función dict()
dict()
es útil cuando se genera un diccionario a partir de una lista de tuplas, etc.
Este método es especialmente práctico cuando los datos cambian dinámicamente.# función dict
fruit_prices = dict([("manzana", 100), ("plátano", 150), ("naranja", 200)])
Método usando la función zip()
Al crear un diccionario asignando listas diferentes a claves y valores, se puede usar la función zip()
para lograrlo de forma concisa.
Esto permite generar eficientemente el diccionario a partir de las listas correspondientes.# función zip
keys = ["manzana", "plátano", "naranja"]
values = [100, 150, 200]
fruit_prices = dict(zip(keys, values))

3. Operaciones básicas con diccionarios
Los diccionarios en Python son estructuras de datos mutables que permiten agregar, actualizar y eliminar datos de forma flexible. Además, se caracterizan por su rapidez en la búsqueda en comparación con otras estructuras de datos.Agregar y actualizar elementos
Para agregar o actualizar elementos en un diccionario, basta con asignar un valor a una clave. Si asignas un valor a una clave existente, se actualiza; si especificas una clave nueva, se agrega.fruit_prices = {"manzana": 100, "plátano": 150}
# Agregar un nuevo elemento
fruit_prices["naranja"] = 200
# Actualizar elemento existente
fruit_prices["manzana"] = 120
Eliminar elementos
Para eliminar un elemento con una clave específica, se pueden usar la sentenciadel
o el método pop()
. El método pop()
devuelve el valor eliminado, lo que resulta útil cuando se desea conservar el dato eliminado.# Eliminación usando la sentencia del
del fruit_prices["plátano"]
# Eliminación usando el método pop (se puede obtener el valor eliminado)
removed_price = fruit_prices.pop("naranja")
4. Operaciones avanzadas
Como usos avanzados de los diccionarios, se incluyen la combinación con otros diccionarios y el conteo de frecuencias. Esto permite realizar manipulaciones de datos aún más avanzadas.Combinación de diccionarios
Al combinar varios diccionarios en uno solo, el métodoupdate()
es útil.
Si hay claves duplicadas, se sobrescriben, lo que permite fusionar y actualizar datos de una sola vez.dict1 = {"ringo": 100, "banana": 150}
dict2 = {"banana": 200, "budou": 300}
dict1.update(dict2)
# shutsuryoku: {'ringo': 100, 'banana': 200, 'budou': 300}
Aplicación al conteo de frecuencias
El conteo de frecuencias es útil, por ejemplo, para contar la cantidad de apariciones de caracteres dentro de una cadena. Al usar diccionarios, la agregación y el análisis de datos se pueden realizar de manera eficiente.text = "apple"
frequency = {}
for char in text:
if char in frequency:
frequency[char] += 1
else:
frequency[char] = 1
# shutsuryoku: {'a': 1, 'p': 2, 'l': 1, 'e': 1}

5. Recorrido de diccionarios
Para procesar todos los elementos de un diccionario de una vez, es adecuado usar un bucle. Esto permite manipular claves y valores individualmente, o obtener una lista de los datos.Obtener claves y valores mediante bucle
Para procesar claves, valores o sus combinaciones dentro de un diccionario, se utilizan los métodoskeys()
,values()
,items()
.fruit_prices = {"manzana": 100, "plátano": 150, "naranja": 200}
# Solo claves
for key in fruit_prices.keys():
print(key)
# Solo valores
for value in fruit_prices.values():
print(value)
# Pares de clave y valor
for key, value in fruit_prices.items():
print(f"{key} tiene un precio de {value} yenes")