Cómo comprobar si un diccionario contiene una clave específica en Python

PythonPythonBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderás cómo verificar si un diccionario contiene una clave específica en Python. Los diccionarios, que almacenan datos en pares clave-valor, son una estructura de datos fundamental.

Este laboratorio te guiará a través de la exploración de las claves de un diccionario utilizando el método .keys() y la conversión del objeto de vista resultante en una lista. También aprenderás cómo usar el operador in y el método get() para determinar de manera eficiente si una clave en particular existe dentro de un diccionario.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/ErrorandExceptionHandlingGroup(["Error and Exception Handling"]) python(("Python")) -.-> python/PythonStandardLibraryGroup(["Python Standard Library"]) python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python/BasicConceptsGroup -.-> python/booleans("Booleans") python/ControlFlowGroup -.-> python/conditional_statements("Conditional Statements") python/DataStructuresGroup -.-> python/dictionaries("Dictionaries") python/ErrorandExceptionHandlingGroup -.-> python/catching_exceptions("Catching Exceptions") python/PythonStandardLibraryGroup -.-> python/data_collections("Data Collections") subgraph Lab Skills python/booleans -.-> lab-559503{{"Cómo comprobar si un diccionario contiene una clave específica en Python"}} python/conditional_statements -.-> lab-559503{{"Cómo comprobar si un diccionario contiene una clave específica en Python"}} python/dictionaries -.-> lab-559503{{"Cómo comprobar si un diccionario contiene una clave específica en Python"}} python/catching_exceptions -.-> lab-559503{{"Cómo comprobar si un diccionario contiene una clave específica en Python"}} python/data_collections -.-> lab-559503{{"Cómo comprobar si un diccionario contiene una clave específica en Python"}} end

Explorar las claves de un diccionario

En este paso, aprenderás cómo acceder a las claves de un diccionario en Python. Los diccionarios son una estructura de datos fundamental que almacena datos en pares clave-valor. Comprender cómo recuperar las claves es esencial para trabajar con diccionarios de manera efectiva.

Primero, creemos un diccionario simple con el que trabajar. Abre el editor de VS Code en el entorno de LabEx y crea un nuevo archivo llamado dictionary_keys.py en el directorio ~/project.

## Content of dictionary_keys.py
my_dict = {
    "name": "Alice",
    "age": 30,
    "city": "New York"
}

Ahora, exploremos cómo acceder a las claves de este diccionario. Python proporciona el método .keys() para este propósito. Agrega el siguiente código a tu archivo dictionary_keys.py:

## Content of dictionary_keys.py
my_dict = {
    "name": "Alice",
    "age": 30,
    "city": "New York"
}

keys = my_dict.keys()
print(keys)

Guarda el archivo y ejecuta el script utilizando el siguiente comando en la terminal:

python dictionary_keys.py

Deberías ver la siguiente salida:

dict_keys(['name', 'age', 'city'])

La salida muestra un objeto "dict_keys", que es un objeto de vista que muestra una lista de todas las claves en el diccionario.

Para convertir este objeto de vista en una lista, puedes usar la función list(). Modifica tu archivo dictionary_keys.py de la siguiente manera:

## Content of dictionary_keys.py
my_dict = {
    "name": "Alice",
    "age": 30,
    "city": "New York"
}

keys = list(my_dict.keys())
print(keys)

Guarda el archivo y ejecuta el script nuevamente:

python dictionary_keys.py

Ahora, la salida será una lista de claves:

['name', 'age', 'city']

Ahora puedes iterar a través de esta lista y realizar operaciones en cada clave. Por ejemplo, puedes imprimir cada clave individualmente:

## Content of dictionary_keys.py
my_dict = {
    "name": "Alice",
    "age": 30,
    "city": "New York"
}

keys = list(my_dict.keys())
for key in keys:
    print(key)

Guarda el archivo y ejecuta el script:

python dictionary_keys.py

La salida será:

name
age
city

Esto demuestra cómo acceder e iterar a través de las claves de un diccionario en Python. Comprender este concepto es crucial para manipular y extraer información de diccionarios de manera efectiva.

Usar el operador in

En este paso, aprenderás cómo usar el operador in para verificar si una clave existe en un diccionario. El operador in es una herramienta poderosa para determinar la presencia de una clave sin generar un error.

Continuemos usando el diccionario que creamos en el paso anterior. Si no tienes el archivo dictionary_keys.py, créalo nuevamente en el directorio ~/project con el siguiente contenido:

## Content of dictionary_keys.py
my_dict = {
    "name": "Alice",
    "age": 30,
    "city": "New York"
}

Ahora, usemos el operador in para verificar si una clave específica existe en el diccionario. Agrega el siguiente código a tu archivo dictionary_keys.py:

## Content of dictionary_keys.py
my_dict = {
    "name": "Alice",
    "age": 30,
    "city": "New York"
}

if "name" in my_dict:
    print("The key 'name' exists in the dictionary.")
else:
    print("The key 'name' does not exist in the dictionary.")

Guarda el archivo y ejecuta el script utilizando el siguiente comando en la terminal:

python dictionary_keys.py

Deberías ver la siguiente salida:

The key 'name' exists in the dictionary.

Esto confirma que la clave "name" existe en el diccionario.

Ahora, verifiquemos una clave que no existe. Modifica tu archivo dictionary_keys.py de la siguiente manera:

## Content of dictionary_keys.py
my_dict = {
    "name": "Alice",
    "age": 30,
    "city": "New York"
}

if "country" in my_dict:
    print("The key 'country' exists in the dictionary.")
else:
    print("The key 'country' does not exist in the dictionary.")

Guarda el archivo y ejecuta el script nuevamente:

python dictionary_keys.py

La salida será:

The key 'country' does not exist in the dictionary.

Esto demuestra cómo se puede usar el operador in para verificar la existencia de una clave en un diccionario. Esta es una forma segura y eficiente de determinar si una clave está presente antes de intentar acceder a su valor.

El operador in devuelve True si la clave existe y False en caso contrario. Puedes usar este valor booleano en declaraciones condicionales u otras operaciones lógicas.

Verificar con el método get()

En este paso, aprenderás cómo usar el método get() para acceder de forma segura a los valores de un diccionario. El método get() proporciona una manera de recuperar el valor asociado a una clave y te permite especificar un valor predeterminado que se devolverá si la clave no existe. Esto evita que tu programa se bloquee debido a excepciones KeyError.

Continuemos usando el diccionario que creamos en los pasos anteriores. Si no tienes el archivo dictionary_keys.py, créalo nuevamente en el directorio ~/project con el siguiente contenido:

## Content of dictionary_keys.py
my_dict = {
    "name": "Alice",
    "age": 30,
    "city": "New York"
}

Ahora, usemos el método get() para recuperar el valor asociado a la clave "name". Agrega el siguiente código a tu archivo dictionary_keys.py:

## Content of dictionary_keys.py
my_dict = {
    "name": "Alice",
    "age": 30,
    "city": "New York"
}

name = my_dict.get("name")
print(name)

Guarda el archivo y ejecuta el script utilizando el siguiente comando en la terminal:

python dictionary_keys.py

Deberías ver la siguiente salida:

Alice

El método get() recuperó con éxito el valor asociado a la clave "name".

Ahora, intentemos recuperar el valor asociado a una clave que no existe, como "country". Modifica tu archivo dictionary_keys.py de la siguiente manera:

## Content of dictionary_keys.py
my_dict = {
    "name": "Alice",
    "age": 30,
    "city": "New York"
}

country = my_dict.get("country")
print(country)

Guarda el archivo y ejecuta el script nuevamente:

python dictionary_keys.py

La salida será:

None

Por defecto, el método get() devuelve None si la clave no existe. Esto evita que se genere una excepción KeyError.

También puedes especificar un valor predeterminado que se devolverá si la clave no existe. Modifica tu archivo dictionary_keys.py de la siguiente manera:

## Content of dictionary_keys.py
my_dict = {
    "name": "Alice",
    "age": 30,
    "city": "New York"
}

country = my_dict.get("country", "Unknown")
print(country)

Guarda el archivo y ejecuta el script:

python dictionary_keys.py

La salida será:

Unknown

En este caso, dado que la clave "country" no existe en el diccionario, el método get() devolvió el valor predeterminado "Unknown" que especificamos.

Usar el método get() es una buena práctica cuando se trabaja con diccionarios, ya que te permite manejar de forma adecuada los casos en los que una clave puede no existir, evitando errores y haciendo que tu código sea más robusto.

Resumen

En este laboratorio (lab), comenzaste explorando cómo acceder a las claves de un diccionario en Python. Aprendiste a crear un diccionario y a usar el método .keys() para recuperar un objeto de vista (view object) que contiene las claves del diccionario.

Luego, aprendiste cómo convertir este objeto de vista en una lista utilizando la función list(), lo que te permite iterar a través de las claves y realizar operaciones en ellas, como imprimir cada clave individualmente.