Curso
Dictionary é uma estrutura de dados nativa do Python e mutável. Ela é parecida, em essência, com List, Set e Tuples. Porém, em vez de ser indexada por uma sequência de números, é indexada por keys e pode ser entendida como um array associativo. Em um nível abstrato, consiste em um key associado a um value. No Python, o Dictionary representa a implementação de uma hash-table.
O que são keys?
Como mostra a figura abaixo, keys são tipos de dados imutáveis (ou seja, que não podem ser alterados) e podem ser strings ou números. Já uma key não pode ser um tipo mutável, como uma lista, por exemplo. As keys são únicas dentro de um Dictionary e não podem ser duplicadas. Se uma key for usada mais de uma vez, as entradas seguintes substituem o valor anterior.

A key se conecta ao value, criando uma estrutura do tipo mapa. Por exemplo, se você remover as keys da figura, tudo o que sobra é uma estrutura de dados com uma sequência de números. Portanto, dicionários guardam pares key: value em cada posição.
Um Dictionary é representado por chaves {} contendo pares key: value separados por vírgula.
Criando um dictionary
Sintaxe
Para relembrar, aqui vai uma receita para criar um Dictionary:
my_dict = {
"key1":"value1",
"key2":"value2"
}
No exemplo acima, tanto as keys quanto os values são strings.
Exemplo de criação de um dictionary
pop = [30.55, 2.77, 39.21]
countries = ["afghanistan", "albania", "algeria"]
Vamos converter os dados de população para um Dictionary. Para criá-lo, você vai usar chaves. Em seguida, dentro das chaves, incluir vários pares key:value. Neste caso, as keys são os nomes dos países e os values são as respectivas populações.
A primeira key é afghanistan, e seu value correspondente é 30.55. Note os dois-pontos que separam a key do value. Vamos fazer o mesmo para os outros dois pares key:value e guardar o resultado na variável world.
Agora, para encontrar a população de albania, basta digitar world e, entre colchetes, a string albania. Em outras palavras, você passa a key entre colchetes e obtém o value correspondente.
world = {"afghanistan":30.55, "albania":2.77, "algeria":39.21}
world["albania"]
2.77
Essa abordagem, além de intuitiva, é muito eficiente, porque o Python consegue buscar essas keys de forma extremamente rápida, mesmo em dicionários enormes.
Exemplo interativo de criação de um dictionary
No exemplo abaixo, você vai usar as strings em countries e capitals para criar um Dictionary chamado europe com 4 pares key:value. Aqui, countries serão as keys e capitals serão os values. Atenção à grafia! Use letras minúsculas em tudo. Por fim, imprima europe para conferir se o resultado saiu como esperado.
# Definição de countries e capitals
countries = ['spain', 'france', 'germany', 'norway']
capitals = ['madrid', 'paris', 'berlin', 'oslo']
# A partir das strings em countries e capitals, crie o dictionary europe
europe = {'spain':'madrid', 'france':'paris', 'germany':'berlin', 'norway':'oslo'}
# Imprima europe
print(europe)
Ao executar o código acima, o resultado será:
{'norway': 'oslo', 'germany': 'berlin', 'france': 'paris', 'spain': 'madrid'}
Para saber mais sobre dicionários em Python, assista a este vídeo do nosso curso Intermediate Python.
Este conteúdo foi extraído do curso Intermediate Python da DataCamp, por Hugo Bowne-Anderson.

