"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo recuperar una clave según su valor en un diccionario de Python?

¿Cómo recuperar una clave según su valor en un diccionario de Python?

Publicado el 2024-11-01
Navegar:323

How to Retrieve a Key Based on Its Value in a Python Dictionary?

Encontrar una clave a partir de un valor en un diccionario de Python

Dentro de un diccionario, localizar una clave en función de su valor correspondiente puede ser una tarea común tarea. Si bien existen métodos alternativos disponibles, como usar la función dict.get() o iterar a través de los elementos del diccionario, un enfoque sencillo y eficiente es usar una lista de comprensión.

Implementar la búsqueda de claves

Para encontrar la clave deseada, puede utilizar la siguiente lista de comprensión:

key = [key for key, value in dict_obj.items() if value == 'value'][0]

Esta comprensión recorre en iteración todos los pares clave-valor en el diccionario y filtra según el valor proporcionado, devolviendo una lista de claves coincidentes. Luego, el índice [0] se usa para recuperar la primera clave de la lista.

Enfoque alternativo: expresión generadora

En lugar de una lista por comprensión, una expresión generadora puede Proporciona una forma más eficiente de manejar diccionarios grandes. Una expresión generadora devuelve un objeto generador que genera valores uno por uno. Es más eficiente en memoria y evita la creación de listas intermedias.

La siguiente expresión generadora logra el mismo resultado:

key = next(key for key, value in dd.items() if value == 'value')

donde dd es el diccionario de destino. Esta expresión recorre en iteración los elementos del diccionario y genera la primera clave coincidente. Si no se encuentra ninguna coincidencia, generará StopIteration. Detectar esta excepción puede ayudar a manejar los casos en los que el valor no está presente en el diccionario.

Declaración de liberación Este artículo se reproduce en: 1729151956 si hay alguna infracción, comuníquese con [email protected] para eliminarlo.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3