logo

Cómo comprobar si existe una clave en un diccionario de Python

En Python, un diccionario es un conjunto desordenado de valores de datos que se pueden usar para administrar y almacenar valores como un mapa. A diferencia de otros tipos de datos, que solo pueden contener un valor específico como elemento, el Diccionario puede contener un par clave-valor. El diccionario incluye un par clave-valor para hacerlo más eficiente. No se permite el polimorfismo en las claves del diccionario. Un diccionario se construye en Python encerrando una sucesión de entradas entre llaves y separándolas con una coma. El Diccionario almacena pares de valores, uno de los cuales es la clave y el otro es el elemento de par clave:valor.

En un diccionario, los valores pueden ser de cualquier estructura de datos e incluso pueden replicarse, pero no se pueden copiar claves que deben ser inmutables.

Comprobar una clave en el diccionario

En Python, un diccionario es de hecho una estructura de datos útil que almacena pares clave-valor. En programación, con frecuencia es necesario obtener el valor de una clave específica de un diccionario; sin embargo, la existencia de una clave particular en el diccionario no siempre está garantizada. Como resultado, es una buena idea volver a verificar si una clave pertenece al diccionario antes de recuperar su valor.

Usando has_key()

Si una clave determinada se encuentra en el diccionario, la has_key() el método devuelve verdadero; de lo contrario, devuelve falso.

Python 3 ha dejado esto en desuso. Este método se puede utilizar si estamos ejecutando una versión anterior a Python 3.

El siguiente comando se puede utilizar para confirmar la versión de Python en cmd.

Código:

 import sys print(sys.version) Animals = {'1': 'Cat', '2':'Rat', '3':'Bat'} key_to_check_for = '2' if Animals.has_key(key_to_check_for): print('Key exists in Animals') else: print(f'There is no key {key_to_check_for} in Animals') 

Producción:

Python escribe json en un archivo
 --------------------------------------------------------------------------- AttributeError Traceback (most recent call last) Input In [37], in () 1 Animals = {'1': 'Cat', '2':'Rat', '3':'Bat'} 2 key_to_check_for = '2' ----> 3 if Animals.has_key(key_to_check_for): 4 print('Key exists in Animals') 5 else: AttributeError: 'dict' object has no attribute 'has_key' 

Dado que este código se ejecutó en Python 3, muestra un error.

declaración si-en

Este método verifica si existe una clave particular dentro del diccionario usando la declaración if-in. Empleamos al operador de membresía. en , de esta forma. Este operador se utiliza para determinar si un valor pertenece a otro. Te da un resultado booleano.

Código:

 Animals = {'1': 'Cat', '2':'Rat', '3':'Bat'} Key = '2' if '2' in Animals: print('Key exists in Animals') else: print(f'There is no key {key} in Animals') 

Producción:

 Key exists in Animals 

Ahora, mirando el caso negativo.

Código:

 Animals = {'1': 'Cat', '2':'Rat', '3':'Bat'} if '4' in Animals: print('Key exists in Animals') else: print(f'There is no key {key} in Animals') 

Producción:

 There is no key '4' in Animals 

Asimismo, el no en El operador podría usarse para ver si una clave en un diccionario no existe. Sin embargo, tenga en cuenta que el en La operación distingue entre mayúsculas y minúsculas, así que asegúrese de que todas las claves estén en el mismo caso o utilice el más alto() o más bajo() métodos.

Código:

 Animals = {'one': 'Cat', 'two':'Rat', 'three':'Bat'} setting_case = set(key.upper() for key in Animals) key_to_check_for = 'two' if key_to_check_for.upper() in setting_case: print('Key exists in Animals') else: print(f'There is no key {key_to_check_for} in Animals') 

Producción:

 Key exists in Animals 

Usando el método get()

El método get() entrega el valor de la clave relacionada en un diccionario. Si la clave no está allí, devuelve Ninguno o un valor predeterminado (si se proporcionó uno). Podemos pasar una clave a este método y ver si existe en el diccionario de Python proporcionado.

La sintaxis de la función get() es:

 dict_name.get(keyname, value) 

Aquí, dict name es el título del diccionario que utilizarás.

Parámetros

    Nombre clave-El nombre clave del valor que desea devolver.valor-Si la clave no existe, este valor se proporciona como opción.

Código:

 Animals = {'1': 'Cat', '2':'Rat', '3':'Bat'} key_to_check_for = '2' if Animals.get(key_to_check_for) is not None: print('Key exists in Animals') else: print(f'There is no key {key_to_check_for} in Animals') 

Producción:

 Key exists in Animals 

Ahora tomando un caso negativo,

Código:

 Animals = {'1': 'Cat', '2':'Rat', '3':'Bat'} key_to_check_for = '5' if Animals.get(key_to_check_for) is not None: print('Key exists in Animals') else: print(f'There is no key {key_to_check_for} in Animals') 

Producción:

 There is no key '5' in Animals 

Al utilizar este método, tenga en cuenta que si tenemos una clave con ese valor Ninguno, no será precisa. Si no tenemos uno, esta técnica será suficiente. Si queremos utilizar los valores devueltos por este método, podemos guardarlos en una variable.

Usando claves()

El llaves() La función y el operador 'in' se pueden usar para ver si existe una clave en un diccionario. El llaves() El método devuelve una lista de claves en el diccionario y la declaración 'if, in' verifica si la clave proporcionada está en la lista. Devuelve Verdadero si la clave existe; de lo contrario, devuelve Falso.

Aporte

 Animals = {'1': 'Cat', '2':'Rat', '3':'Bat'} key='2' if key in Animals.keys(): print('Key exists in Animals') else: print(f'There is no key {key} in Animals') 

Producción:

 Key exists in Animals 

Verifique si el diccionario tiene varias claves.

En una declaración, también podemos verificar si el diccionario contiene varias claves. Podemos usar el todo() Función en combinación con la lista de comprensión para ver si el diccionario contiene muchas o todas las claves.

Código:

 Animals = {'1': 'Cat', '2':'Rat', '3':'Bat'} key='2' if all(key in Animals for key in ('1','5')): print('All keys exists in Animals') else: print('Not all the keys are there in Animals') 

Producción:

 Not all the keys are there in Animals 

Examine la lista de diccionarios para ver si existe la clave

Una lista de diccionarios es una colección de diccionarios que se pueden encontrar en una lista.

  • list_of_dictionary: una lista con tres objetos de diccionario.
  • 'b' en claves para las claves en la lista de diccionarios: genera la lista de claves dentro de la lista de diccionarios mediante comprensión de listas. Luego, en la lista, vea si hay alguno disponible. Devolverá una lista con Verdadero para las claves que son 'b' y Falso para las claves que no son una.
  • any(): verifica la lista Verdadero/Falso proporcionada por comprensión de lista. La clave 'b' está presente en la lista del diccionario si incluye al menos un Verdadero. Luego, el bloque 'si' se ejecuta después de devolver Verdadero. De lo contrario, se ejecuta el bloque 'else'.

Código:

 list_of_dictionaries = [{'a': 'A'}, {'b': 'B'}, {'c': 'C'}] if any('b' in keys for keys in list_of_dictionary): print('key exists in list_of_dictionaries') else: print('key does not exists in list_of_dictionaries') 

Producción:

 Key exists in list_of_dictionaries 

Compruebe si la clave está en el diccionario JSON

JSON significa 'Notación de objetos Javascript' y es un par clave-valor que guarda valores.

El json.cargas() El método se puede utilizar para construir un diccionario a partir de un texto JSON.

agregar a una matriz en java

Luego, como se ve a continuación, podemos usar 'if y in' para ver si la clave está presente en el diccionario JSON.

Aporte

 import json json_str = '''{'a': 'A', 'b': 'B', 'c': 'C'}''' json_dictionary = json.loads(json_str) if 'c' in json_dictionary: print('Key is present in the JSON dictionary') else: print('Key is not present in JSON dictionary') 

Producción:

 Key is present in the JASON dictionary 

Conclusión

En resumen, hemos aprendido cómo comprobar si la clave está en el diccionario de varias formas. También hemos aprendido cómo aplicar esos métodos a varias instancias para ver si la clave está en el diccionario. También hemos visto cómo cada opción requiere una cantidad de tiempo diferente.