Compreensão de dicionário em Python

Manav Narula 10 outubro 2023
Compreensão de dicionário em Python

Uma lista é uma coleção ordenada de vários elementos sob um nome comum. É simples criar e gerenciar listas em Python. Para facilitar, temos o método de compreensão de lista disponível em Python. Este método é muito mais conciso, elegante e geralmente é apenas uma única linha de código. Geralmente envolve o uso do loop for entre colchetes.

O código a seguir demonstra o uso desse método para criar uma lista simples de inteiros.

lst = [i for i in range(1, 10)]
print(lst)

Resultado:

[1, 2, 3, 4, 5, 6, 7, 8, 9]

Por outro lado, um dicionário é usado para armazenar pares de valores-chave. Há suporte no Python 2.7 e superior para compreensão de dicionário também. É usado de forma semelhante para criar dicionários em uma única linha de código.

Por exemplo,

d = {i: i * 5 for i in range(1, 5)}
print(d)

Resultado:

{1: 5, 2: 10, 3: 15, 4: 20}

No código acima, atribuímos números inteiros de 1 a 5 como as chaves do dicionário e atribuímos o produto da chave e 5 como seu valor.

Todos nós sabemos que podemos criar uma lista de chaves e valores de um dicionário. Usando o método de compreensão de dicionário, podemos criar facilmente um dicionário usando elementos de uma lista. Isso é mostrado no exemplo abaixo.

keys = [1, 2, 3, 4, 5]
vals = ["Mark", "Jack", "Jake", "Sam", "Ash"]

d = {i: j for i, j in zip(keys, vals)}

print(d)

Resultado:

{1: 'Mark', 2: 'Jack', 3: 'Jake', 4: 'Sam', 5: 'Ash'}

A função zip() no exemplo acima é usada para retornar um objeto do tipo zip após combinar as duas listas.

É importante notar que também existem outras maneiras de criar dicionários com mais rapidez. Por exemplo, podemos usar a função fromkeys(). Esta função nos permite criar um dicionário fornecendo as chaves de uma lista. A desvantagem é que ele especifica um mesmo valor para todas as chaves.

Por exemplo,

keys = [1, 2, 3, 4, 5]

d = dict.fromkeys(keys, "True")

print(d)

Resultado:

 {1: 'True', 2: 'True', 3: 'True', 4: 'True', 5: 'True'}
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Artigo relacionado - Python Dictionary