HOWTO · Python
Declarar un diccionario en Python
Este tutorial demuestra cómo declarar un tipo de datos de diccionario en Python.
En esta página
Los diccionarios son asignaciones mutables que relacionan claves únicas con valores. Usa una clave para consultar su valor, añadir un nuevo par clave-valor o reemplazar el valor asociado a una clave existente. Esta guía muestra las formas habituales de crear un diccionario y cuándo resulta útil cada tipo de entrada.
Qué almacena un diccionario de Python
Un diccionario relaciona cada clave con un valor. Las claves deben ser hashables; las cadenas, los números y las tuplas compuestas únicamente por valores hashables son opciones habituales. Las listas, los diccionarios y los conjuntos no son hashables, así que no pueden usarse como claves. Los valores pueden ser cualquier objeto de Python. Asignar un valor a una clave existente reemplaza su valor en lugar de crear una segunda entrada para esa clave.
Crear un diccionario con llaves
Usa llaves con pares key: value para crear un literal de diccionario. El ejemplo crea una asignación, consulta un valor, añade una clave y luego actualiza una clave existente.
Ejecuta este ejemplo. El código y las cadenas visibles del ejemplo se mantienen en inglés:
person = {"name": "Alice", "age": 30}
print(person["name"])
person["city"] = "Boston"
person["age"] = 31
print(person["age"])
print(person["city"])
Alice
31
Boston
Usa {} cuando necesites un diccionario vacío.
Los corchetes permiten obtener un valor mediante su clave. Si intentas leer una clave que no existe, se produce KeyError; usa person.get("nickname") si prefieres que una clave ausente devuelva None (o pasa otro valor predeterminado como segundo argumento).
Crear un diccionario con dict()
El constructor integrado dict() puede crear una asignación vacía con dict(). Su forma con argumentos de palabra clave resulta práctica cuando las claves son identificadores válidos de Python: los nombres de esos argumentos se convierten en claves de cadena. Usa llaves si las claves no son identificadores o si quieres expresar los pares clave-valor explícitamente.
El código y las cadenas visibles del ejemplo se mantienen en inglés.
person = dict(name="Bob", age=25)
print(person)
{'name': 'Bob', 'age': 25}
Por ejemplo, dict(name="Bob") crea la clave de cadena "name"; no acepta una expresión arbitraria como nombre de argumento de palabra clave.
Crear un diccionario a partir de pares o datos existentes
Pasa un iterable de iterables con dos elementos a dict() cuando los datos ya estén organizados en pares. Cada par proporciona una clave y su valor.
El código del ejemplo, incluidos sus identificadores, se mantiene en inglés.
El código y las etiquetas o salidas visibles de esta sección se mantienen en inglés.
pairs = [("name", "Charlie"), ("age", 28)]
person = dict(pairs)
print(person["age"])
28
También puedes usar otras fuentes iterables de pares, como las tuplas. Si una clave aparece más de una vez en la entrada, el valor posterior reemplaza al anterior en el diccionario resultante. Cada elemento debe proporcionar exactamente dos valores.
Crear un diccionario con una comprensión
Una comprensión de diccionario genera pares clave-valor a partir de un iterable mediante una expresión. Resulta útil cuando cada entrada del resultado sigue la misma transformación.
El código del ejemplo, incluidos sus identificadores, se mantiene en inglés.
El código y las etiquetas o salidas visibles de esta sección se mantienen en inglés.
squares = {number: number ** 2 for number in range(4)}
print(squares)
{0: 0, 1: 1, 2: 4, 3: 9}
Aquí, cada número se convierte en una clave y su cuadrado en el valor. Una comprensión también puede incluir una condición, como en {number: number ** 2 for number in range(6) if number % 2 == 0}.
Elegir un método para crear un diccionario
Elige la forma que se ajuste a los datos disponibles:
- Usa llaves para escribir directamente un literal con sus claves y valores, incluido
{}para crear un diccionario vacío. - Usa
dict()con argumentos de palabra clave cuando las claves sean nombres sencillos con formato de identificador. - Usa
dict(pairs)cuando los datos existentes estén formados por pares de dos elementos. - Usa una comprensión cuando las claves o los valores se obtengan mediante una transformación uniforme de un iterable.
Todas estas formas crean diccionarios mutables. Para añadir o cambiar una entrada más adelante, asigna el valor con mapping[key] = value; si la clave ya existe, se reemplaza su valor.