"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como recuperar uma chave com base em seu valor em um dicionário Python?

Como recuperar uma chave com base em seu valor em um dicionário Python?

Publicado em 01/11/2024
Navegar:107

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

Encontrando uma chave a partir de um valor em um dicionário Python

Em um dicionário, localizar uma chave com base em seu valor correspondente pode ser uma tarefa comum tarefa. Embora existam métodos alternativos disponíveis, como usar a função dict.get() ou iterar pelos itens do dicionário, uma abordagem direta e eficiente é usar uma compreensão de lista.

Implementando a pesquisa de chave

Para encontrar a chave desejada, você pode usar a seguinte compreensão de lista:

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

Essa compreensão itera por todos os pares de valores-chave no dicionário e filtra com base no valor fornecido, retornando uma lista de chaves correspondentes. O índice [0] é então usado para recuperar a primeira chave da lista.

Abordagem Alternativa: Expressão Geradora

Em vez de uma compreensão de lista, uma expressão geradora pode fornecem uma maneira mais eficiente de lidar com dicionários grandes. Uma expressão geradora retorna um objeto gerador que produz valores um por um. É mais eficiente em termos de memória e evita a criação de listas intermediárias.

A seguinte expressão geradora obtém o mesmo resultado:

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

onde dd é o dicionário de destino. Esta expressão percorre os itens do dicionário e produz a primeira chave correspondente. Se nenhuma correspondência for encontrada, ele gerará StopIteration. Capturar essa exceção pode ajudar a lidar com casos em que o valor não está presente no dicionário.

Declaração de lançamento Este artigo é reproduzido em: 1729151956 Se houver alguma violação, entre em contato com [email protected] para excluí -lo.
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3