Cómo crear un diccionario en Python (literales y constructores)

Aprenda a crear un diccionario en Python. Comprenda la sintaxis literal, el constructor de dict, las comprensiones de dict y los inicializadores de claves-valor.

Pruebe esta solución en el Editor

Descripción general

Los diccionarios son uno de los tipos de datos integrados más potentes y utilizados en Python. Un diccionario es una colección mutable y ordenada (desdePython 3.7) de pares clave-valor, donde cada clave debe ser única y codificable (por ejemplo, cadenas, números o tuplas). Los diccionarios le permiten realizar operaciones de búsqueda con una complejidad de tiempo promedio de casos O(1) altamente optimizada.

La forma más común y directa de crear un diccionario es usar llaves `{}` con pares clave-valor separados por dos puntos. Por ejemplo, `my_dict = {"name": "Alice", "age": 30}` crea un diccionario completo. Para crear un diccionario vacío, puede usar llaves vacías `{}` o el constructor `dict()`.

Python también ofrece otros métodos avanzados para crear diccionarios dinámicamente. El constructor `dict()` puede crear diccionarios a partir de listas de tuplas clave-valor o argumentos de palabras clave. Además, las comprensiones de diccionario proporcionan una manera poderosa de inicializar un diccionario a partir de un iterable existente, aplicando transformaciones a claves o valores en línea.

Código y salida de ejecución

Este script demuestra varias formas de inicializar y crear diccionarios en Python.

# 1. Dictionary literal syntax (most common)
user = {"name": "Alice", "age": 28, "verified": True}
print("Literal dict:", user)

# 2. Using the dict() constructor with keyword arguments
config = dict(host="localhost", port=8080, debug=True)
print("Constructor dict:", config)

# 3. Creating dictionary from key-value pairs (tuples)
pairs = [("id", 101), ("status", "active")]
status_dict = dict(pairs)
print("From tuples:", status_dict)

# 4. Dictionary comprehension (dynamic creation)
squares = {x: x**2 for x in range(1, 5)}
print("Comprehension:", squares)
Salida terminal
Literal dict: {'name': 'Alice', 'age': 28, 'verified': True}
Constructor dict: {'host': 'localhost', 'port': 8080, 'debug': True}
From tuples: {'id': 101, 'status': 'active'}
Comprehension: {1: 1, 2: 4, 3: 9, 4: 16}

Implementación paso a paso

  • Utilice llaves {} con pares clave:valor para crear un literal de diccionario.
  • Llame a dict() para crear un diccionario vacío o construir uno usando argumentos de palabras clave.
  • Pase una lista de tuplas clave-valor a dict() para transformar matrices relacionales en un objeto de diccionario.

Preguntas frecuentes

¿Se pueden utilizar elementos de lista o diccionario como claves de diccionario?

No, las claves del diccionario deben ser hash (inmutables). Dado que las listas y los diccionarios son mutables, no pueden ser claves. Tuplas, cadenas y números enteros son claves válidas.

¿Cómo puedo crear un diccionario con valores predeterminados para un conjunto de claves?

Puede utilizar dict.fromkeys(keys_list, default_value) para construir un diccionario donde todas las claves compartan el mismo valor predeterminado.

Temas relacionados

Recursos recomendados de Python

Amplíe sus conocimientos con tutoriales interactivos relacionados, hojas de trucos y comparaciones de códigos.