List Comprehension é uma maneira prática e rápida de criar listas em Python em apenas uma única linha de código. Ele nos ajuda a escrever loops de fácil leitura em uma única linha.
Em Python, o dicionário é uma estrutura de dados para armazenar dados de forma que cada elemento dos dados armazenados seja associado a uma chave. A estrutura de dados do dicionário permite que você consulte os dados usando a chave de forma muito eficiente.
A idéia de compreensão não é apenas exclusiva das listas em Python. Dicionários, uma das estruturas de dados comumente usadas na ciência dos dados, também pode fazer a compreensão. Com a compreensão de ditames ou dicionários, pode-se facilmente criar dicionários.
Lembre que, em python uma lista é definida com colchetes e um dicionário é definido com colchetes {}. A idéia usada na compreensão de listas é transferida na definição da compreensão de ditados também. A compreensão de ditados é definida com uma sintaxe semelhante, mas com um par key:value na expressão.
- {key:value for i in list}
Deixe-nos ver 5 exemplos simples de utilização da compreensão de ditados para criar novos dicionários facilmente.
Adicionado um sexto exemplo de compreensão de ditados para apagar chaves em um dicionário.
Exemplo de compreensão de ditados 1
Deixe-nos ver um exemplo rápido de como criar uma compreensão de ditados a partir de uma lista de números.
Aqui vamos usar uma lista de números e criar um dicionário com valor de string do número como chave e o número como valores.
# dict comprehension to create dict with numbers as values>{str(i):i for i in }{'1': 1, '3': 3, '2': 2, '5': 5, '4': 4}
Dict Comprehension Example 2
Deixe nos dizer, temos uma lista de frutas e podemos usar a compreensão de ditados para criar um dicionário com frutas, os elementos da lista como as chaves e o comprimento de cada string como os valores.
# create list of fruits>fruits = # dict comprehension to create dict with fruit name as keys>{f:len(f) for f in fruits}{'cherry': 6, 'mango': 5, 'apple': 5, 'banana': 6}
Dict Comprehension Example 3
Deixe que criemos um dicionário com compreensão de ditados de tal forma que os elementos da lista como as chaves e os elementos com a primeira letra maiúscula como os valores.
>{f:f.capitalize() for f in fruits}{'cherry': 'Cherry', 'mango': 'Mango', 'apple': 'Apple', 'banana': 'Banana'}
Dict Comprehension Example 4
Deixe que utilizemos a função enumerar na compreensão do dicionário. Se você não tiver usado enumerar: enumerar pode pegar qualquer coisa iterável como elemento de entrada e retorno e seu index.
Aqui nós usamos a função enumerar na lista para criar tuplos de índices e elementos de lista e usá-los para criar um dicionário com compreensão de ditados. Criamos um dicionário com elementos da lista como as chaves e o índice de elementos como os valores. Tais dicionários com índice de elementos são frequentemente úteis numa variedade de cenários.
# dict comprehension example using enumerate function>{f:i for i,f in enumerate(fruits)}{'cherry': 3, 'mango': 1, 'apple': 0, 'banana': 2}
Dict Comprehension Example 5
Outro uso da compreensão de ditados é para inverter key:value num dicionário existente. Às vezes você pode querer criar um novo dicionário a partir de um diretório existente, de modo que o papel do par key:value no primeiro dicionário seja revertido no novo dicionário. Podemos usar Dict Comprehension e inverter o elemento para indexar o dicionário para indexar o dicionário de elementos.
# dict comprehension example to reverse key:value pair in a dictionary>f_dict = {f:i for i,f in enumerate(fruits)}>f_dict{'apple': 0, 'banana': 2, 'cherry': 3, 'mango': 1}# dict comprehension to reverse key:value pair in a dictionary>{v:k for k,v in f_dict.items()}{0: 'apple', 1: 'mango', 2: 'banana', 3: 'cherry'}
Usamos a função itens de dicionários para obter chave, pares de valores em um dicionário existente e criamos um novo dicionário onde as chaves no dicionário original são valores no novo dicionário e vice-versa.
Dict Comprehension Exemplo 6: Como excluir chaves selecionadas do dicionário usando Dict Comprehension?
Deixe-nos dizer que você tem um dicionário e quer criar um novo dicionário removendo certo par de chaves de valor. Podemos usar o Dict Comprehension para remover pares de chaves selecionadas de um dicionário e criar um novo dicionário.
Deixe-nos usar o dicionário “fruta” que criamos acima.
fruits = f_d1 ={f:f.capitalize() for f in fruits}f_d1
Deixe-nos usar o dicionário Comprehension para remover duas chaves, maçã e banana, e seus valores do dicionário de fruta.
# keys to be removed>remove_this = {'apple','cherry'}# dict comprehension example to delete key:value pairs in a dictionary>{key:f_d1 for key in f_d1.keys() - remove_this}{'banana': 'Banana', 'mango': 'Mango'}
Retiramos as chaves, maçã e cereja, simplesmente usando o objeto dict key com operações definidas e agora o novo dicionário contém apenas banana e manga.