Cómo comprobar si un valor está en un diccionario en Python
-
Usa
get()
y Key para comprobar si el valor existe en el diccionario -
Usa
values()
para comprobar si el valor especificado existe en un diccionario - Comprueba si el valor existe en un diccionario si el valor es una lista
Este tutorial muestra cómo se puede comprobar un valor si existe en un diccionario de Python. En él se tratan temas relevantes, como la búsqueda de un valor dado por una clave, la búsqueda de un valor específico y la búsqueda de un valor que sea un objeto o una colección.
Para empezar, deberías imprimir True
si el valor existe en el diccionario; de lo contrario, imprime False
.
Usa get()
y Key para comprobar si el valor existe en el diccionario
Los diccionarios en Python tienen una función incorporada key()
, que devuelve el valor de la clave dada. Al mismo tiempo, devolvería None
si no existe. Puedes usar esta función como condición para determinar si un valor existe o no en un diccionario.
Primero declaremos un diccionario simple con claves int
y valores de cadena.
simpDict = {1: "Ant", 2: "Bear", 3: "Cat", 4: "Dog", 5: "Elephant"}
Si quieres buscar el valor usando su par de claves, entonces la función key()
es el camino a seguir. Por ejemplo, quieres buscar cualquier valor con el 6 como su clave; sigue el código de abajo.
if simpDict.key(6) != None:
print("True")
else:
print("False")
Como la función simpDict
no tiene la clave 6, este bloque de código dará como resultado False
.
Usa values()
para comprobar si el valor especificado existe en un diccionario
A diferencia de la situación en la búsqueda de un valor específico, buscar una clave dentro de un diccionario es muy sencillo; sólo tienes que usar la palabra clave in
y la clave que buscas en el diccionario.
print(3 in simpDict)
Esto dará como resultado True
ya que la clave 3 existe. Si reemplazamos el número por una clave inexistente, entonces saldrá False
.
Por otro lado, puedes usar la función values()
si quieres buscar un valor específico en el diccionario. El comando values()
devolverá una lista de todos los valores dentro de un diccionario. Usando values()
, puede utilizar la palabra clave in
al diccionario y el valor especificado. Digamos que quieres saber si el valor Elephant
está en el diccionario, ejecuta el siguiente código:
print("Elephant" in simpDict.values())
Esta línea dará True
ya que la palabra Elephant
existe en simpDict
en la clave 5.
En Python 2.X, también hay otras dos funciones similares a values()
, son los itervalues()
y viewvalues()
; estas funciones han sido desactualizadas en las versiones de Python 3.X.
Los comandos itervalues()
y viewvalues()
harán la misma tarea que el comando values()
; sin embargo, las diferentes implementaciones, aunque muy insignificantes, afectan enormemente al tiempo de ejecución.
print("Elephant" in simpDict.itervalues())
print("Elephant" in simpDict.viewvalues())
Ambos devolverán la misma salida que la función values()
. Es importante señalar que la redundancia es probablemente la razón principal por la que estas funciones han sido desactualizadas de las versiones más recientes de Python.
Ahora, ¿qué pasa si los valores de un diccionario son estructuras de datos como una lista o un objeto? Averigüémoslo.
Comprueba si el valor existe en un diccionario si el valor es una lista
listDict = {1: ["a", "b"], 2: ["b", "c"], 3: ["c", "d"], 4: ["d", "e"]}
Ahora, tenemos un diccionario con claves int
y una lista de caracteres como valores.
Digamos que queremos buscar si la lista ['c', 'd']
existe en el diccionario.
print(["c", "d"] in listDict.values())
La salida resultante sería True
; esto confirma que la comparación de colecciones mediante la iteración del diccionario también funciona.
¿Pero qué pasa si queremos comprobar si un valor dentro de un valor de la lista existe en el diccionario? Para resolver esto, simplemente haz un bucle sobre los valores y usa la palabra clave in
la lista, en lugar de en el diccionario.
Por ejemplo, quieres comprobar si el carácter 'e'
existe dentro de los valores de esta lista o no. Aquí está el código a ejecutar para eso:
tof = False
for value in listDict.values():
if "e" in value:
tof = True
break
print(tof)
La salida imprimirá True
ya que 'e'
existe en el diccionario.
En resumen, usa la función values()
para iterar sobre los valores y comparar si el valor que buscas existe dentro de la lista de valores. Esto ayuda cuando quieres comprobar si un valor especificado existe en un diccionario.
Skilled in Python, Java, Spring Boot, AngularJS, and Agile Methodologies. Strong engineering professional with a passion for development and always seeking opportunities for personal and career growth. A Technical Writer writing about comprehensive how-to articles, environment set-ups, and technical walkthroughs. Specializes in writing Python, Java, Spring, and SQL articles.
LinkedInArtículo relacionado - Python Dictionary
- Cómo comprobar si existe una clave en un diccionario en Python
- Convertir un diccionario en una lista en Python
- Cómo obtener todos los archivos de un directorio
- Cómo encontrar el valor máximo en el Diccionario Python
- Cómo ordenar un diccionario Python por valor
- Cómo fusionar dos diccionarios en Python 2 y 3