Cómo comprobar si un diccionario en Python contiene un valor específico

PythonBeginner
Practicar Ahora

Introducción

En este laboratorio, aprenderás cómo verificar si un diccionario de Python contiene un valor específico. El laboratorio comienza presentando los valores de los diccionarios y demostrando cómo acceder a ellos utilizando claves y el método .values(). Crearás un archivo dictionary_example.py en tu directorio ~/project y ejecutarás código de Python para imprimir los valores del diccionario, tanto individualmente como como una colección.

A continuación, el laboratorio te guiará en el uso del operador in en el objeto de vista values() para determinar de manera eficiente si un valor en particular existe dentro del diccionario. Finalmente, explorará un enfoque alternativo utilizando iteración para encontrar coincidencias, brindando una comprensión integral de los diferentes métodos para verificar valores en diccionarios de Python.

Comprender los valores de los diccionarios

En este paso, aprenderás sobre los valores de los diccionarios en Python. Los diccionarios son una estructura de datos fundamental que almacena datos en pares clave-valor. Comprender cómo acceder y manipular estos valores es crucial para trabajar con diccionarios de manera efectiva.

Primero, creemos un diccionario simple:

## Create a dictionary
my_dict = {"name": "Alice", "age": 30, "city": "New York"}

## Print the dictionary
print(my_dict)

Crea un archivo llamado dictionary_example.py en tu directorio ~/project utilizando el editor VS Code. Copia y pega el código anterior en el archivo.

Ahora, ejecuta el script utilizando el siguiente comando en la terminal:

python dictionary_example.py

Deberías ver la siguiente salida:

{'name': 'Alice', 'age': 30, 'city': 'New York'}

Para acceder a los valores de un diccionario, puedes utilizar las claves. Por ejemplo, para acceder al valor asociado con la clave "name", utilizarías my_dict["name"].

Modifiquemos el archivo dictionary_example.py para acceder e imprimir los valores:

## Create a dictionary
my_dict = {"name": "Alice", "age": 30, "city": "New York"}

## Access and print the values
print(my_dict["name"])
print(my_dict["age"])
print(my_dict["city"])

Guarda los cambios en dictionary_example.py y ejecútalo nuevamente:

python dictionary_example.py

La salida ahora debería ser:

Alice
30
New York

También puedes utilizar el método .values() para obtener una colección de todos los valores del diccionario. Este método devuelve un objeto de vista que muestra una lista de todos los valores del diccionario.

Modifica el archivo dictionary_example.py para utilizar el método .values():

## Create a dictionary
my_dict = {"name": "Alice", "age": 30, "city": "New York"}

## Get the values
values = my_dict.values()

## Print the values
print(values)

Guarda los cambios en dictionary_example.py y ejecútalo nuevamente:

python dictionary_example.py

La salida ahora debería ser:

dict_values(['Alice', 30, 'New York'])

Como puedes ver, el método .values() devuelve un objeto de vista que contiene todos los valores del diccionario. Puedes iterar sobre este objeto de vista para acceder a cada valor individualmente, lo cual aprenderás en los siguientes pasos.

Usar el operador in en values()

En este paso, aprenderás cómo usar el operador in para verificar si un valor específico existe dentro de los valores de un diccionario. El operador in es una herramienta poderosa para buscar y validar datos en Python.

Continuando desde el paso anterior, usemos el mismo diccionario my_dict. Verificaremos si el valor "Alice" existe en los valores del diccionario.

Modifica el archivo dictionary_example.py en tu directorio ~/project para incluir el siguiente código:

## Create a dictionary
my_dict = {"name": "Alice", "age": 30, "city": "New York"}

## Check if "Alice" is in the values
if "Alice" in my_dict.values():
    print("Alice is in the dictionary values")
else:
    print("Alice is not in the dictionary values")

Guarda los cambios en dictionary_example.py y ejecútalo nuevamente:

python dictionary_example.py

La salida debería ser:

Alice is in the dictionary values

Ahora, verifiquemos un valor que no existe en el diccionario, como "Bob":

Modifica el archivo dictionary_example.py para verificar "Bob" en lugar de "Alice":

## Create a dictionary
my_dict = {"name": "Alice", "age": 30, "city": "New York"}

## Check if "Bob" is in the values
if "Bob" in my_dict.values():
    print("Bob is in the dictionary values")
else:
    print("Bob is not in the dictionary values")

Guarda los cambios en dictionary_example.py y ejecútalo nuevamente:

python dictionary_example.py

La salida ahora debería ser:

Bob is not in the dictionary values

El operador in distingue entre mayúsculas y minúsculas. Verifiquemos si "alice" (en minúsculas) está en los valores del diccionario:

Modifica el archivo dictionary_example.py para verificar "alice":

## Create a dictionary
my_dict = {"name": "Alice", "age": 30, "city": "New York"}

## Check if "alice" is in the values
if "alice" in my_dict.values():
    print("alice is in the dictionary values")
else:
    print("alice is not in the dictionary values")

Guarda los cambios en dictionary_example.py y ejecútalo nuevamente:

python dictionary_example.py

La salida ahora debería ser:

alice is not in the dictionary values

Esto demuestra que el operador in distingue entre mayúsculas y minúsculas y solo devolverá True si se encuentra el valor exacto.

Iterar para encontrar coincidencias

En este paso, aprenderás cómo iterar a través de los valores de un diccionario y encontrar coincidencias basadas en criterios específicos. Esta es una tarea común cuando necesitas procesar o filtrar datos almacenados en diccionarios.

Continuando desde los pasos anteriores, usemos el mismo diccionario my_dict. Iteraremos a través de los valores e imprimiremos solo aquellos que son cadenas de texto (strings).

Modifica el archivo dictionary_example.py en tu directorio ~/project para incluir el siguiente código:

## Create a dictionary
my_dict = {"name": "Alice", "age": 30, "city": "New York"}

## Iterate through the values
for value in my_dict.values():
    ## Check if the value is a string
    if isinstance(value, str):
        print(value)

Guarda los cambios en dictionary_example.py y ejecútalo nuevamente:

python dictionary_example.py

La salida debería ser:

Alice
New York

En este ejemplo, usamos un bucle for para iterar a través de cada valor en los valores del diccionario. Dentro del bucle, usamos la función isinstance() para verificar si el valor es una cadena de texto. Si lo es, imprimimos el valor.

Ahora, modifiquemos el código para encontrar valores que sean mayores a 25. Dado que la edad es un número entero (integer), podemos verificar si es mayor a 25.

Modifica el archivo dictionary_example.py para incluir el siguiente código:

## Create a dictionary
my_dict = {"name": "Alice", "age": 30, "city": "New York"}

## Iterate through the values
for value in my_dict.values():
    ## Check if the value is an integer and greater than 25
    if isinstance(value, int) and value > 25:
        print(value)

Guarda los cambios en dictionary_example.py y ejecútalo nuevamente:

python dictionary_example.py

La salida ahora debería ser:

30

Esto demuestra cómo puedes combinar la iteración con declaraciones condicionales para encontrar coincidencias específicas dentro de los valores de un diccionario. Puedes adaptar este enfoque a diferentes tipos de datos y criterios según tus necesidades.

Resumen

En este laboratorio (lab), aprendiste sobre los valores de los diccionarios en Python, una estructura de datos fundamental que almacena datos en pares clave-valor. Creaste un diccionario y accediste a sus valores utilizando claves, imprimiendo los valores asociados a "name", "age" y "city".

Además, exploraste el método .values(), que devuelve un objeto de vista que contiene todos los valores del diccionario. Modificaste el script para utilizar este método e imprimir la colección de valores.