Python - Guia prático para Iniciantes
  • Introdução
  • Você deveria aprender Python
  • Começando com Python
  • Desvios condicionais, fazendo seu programa tomar decisões
  • Valores None, Strings e Listas
  • Listas
  • Laços de Repetição - I
  • Laços de Repetição - II
  • Dicionários
  • Modularização de código com Funções
  • Expressões Lambda
  • Conclusão
  • Resolução dos exercícios
Powered by GitBook
On this page

Was this helpful?

Dicionários

Neste ponto, você já deve estar familiarizado com listas e laços de repetição, agora já está na hora de criarmos mais estruturas, desta vez, vamos usar os dicionários!

Os dicionários permitem ao desenvolvedor armazenar pares de chave-valor facilmente! Na prática isso significa que conseguimos criar uma estrutura para armazenar mais de uma informação correlacionada.

Imagine que você deseja armazenar dados sobre uma pessoa. Você precisará guardar o nome, sobrenome, idade e quantas outras informações forem necessárias. É possível criar todas estas variáveis separadas? Mas é claro que sim!

O problema desta abordagem é que o seu programa não conseguiria relacionar as informações. Para o seu programa é como se aquelas variáveis fossem dados separados entre si, ou seja, sem nenhuma relação.

Se você já viu alguma vez um objeto em JSON, você verá que existem muitas semelhanças entre estas duas coisas, veja como um dicionário em Python se parece:

pessoa = {
    "nome": "Gabriel",
    "sobrenome": "Schade",
    "idade": 27
}

Como dito anteriormente, um dicionário organiza as informações em pares no formato chave-valor. No exemplo acima, as chaves são: nome, sobrenome e idade e os valores respectivos são: Gabriel, Schade e 27.

No nosso caso as chaves são valores do tipo string, mas não há uma obrigatoriedade nisso (apesar de ser bastante comum) enquanto que os valores comumente variam de tipos.

Assim como nas listas, podemos alterar e obter os valores de um dicionário, mas neste caso ao invés de utilizarmos um índice, utilizamos a chave. Isso faz com que os dicionários sejam extremamente simples de se trabalhar, veja o código a seguir:

pessoa["sobrenome"] = "Schade Cardoso"

Este código é bem parecido com alterar o valor de um item na lista e faz a mesma coisa, mas desta vez alterando um valor de um dicionário.

Podemos fazer o mesmo processo para obter um valor do dicionário e armazená-lo em outra variável, veja:

nome_da_pessoa = pessoa["nome"]

Com isso conseguimos manipular as informações relacionadas em um mesmo dicionário. Podemos por exemplo, exibir no console o nome completo da pessoa:

print( pessoa["nome"], pessoa["sobrenome"] )

Ao usar dicionários você precisa tomar cuidado, porque se a chave não existir a aplicação irá lançar um erro! Faça o teste:

cpf = pessoa["cpf"]

Sabendo disso, existe uma outra forma no Python para obtermos um valor de um dicionário. Podemos fazer isso através da função get. Para esta função precisamos enviar duas informações: a chave e um valor padrão para o caso da chave não existir.

cpf = pessoa.get("cpf", None)
print (cpf) # -> None

Através do get podemos buscar um valor em um dicionário de forma segura, fazendo com que a aplicação não gere erros.

Além da função get, também estão disponíveis as funções keys e values, elas retornam respectivamente uma lista contendo todas as chaves ou todos os valores do dicionário.

Vamos começar utilizando a função keys!

chaves = pessoa.keys()
for chave in chaves:
    print (chave)

O mesmo vale para obtermos todos os valores:

valores = pessoa.values()
for valor in valores:
    print (valor)

Podemos utilizar estas funções para escrever cada chave e seu respectivo valor, por exemplo:

chaves = pessoa.keys()
for chave in chaves:
    valor = pessoa[chave]
    texto = chave + ": " + str(valor)
    print ( texto )

O código acima foi separado para ficar claro o passo-a-passo das instruções, mas você pode incluir todas estas instruções em apenas uma linha de código se achar mais confortável:

chaves = pessoa.keys()
for chave in chaves:
    print (  chave, ":", str( pessoa[chave]) )

Por fim, assim como fizemos com as listas, também podemos apagar um elemento do dicionário com o comando del. É importante dizer que o del remove completamente o item chave-valor do dicionário.

del pessoa["sobrenome"]

print (pessoa["sobrenome"])

O código acima irá gerar um erro, porque a partir do momento que o comando del foi aplicado à chave-valor "sobrenome", ela deixa de existir no dicionário, portanto, tome cuidado!

Vamos Praticar

  1. Faça um programa que crie um dicionário para definir um produto, contendo sua descrição e seu preço.

  2. Faça um programa que inicialize uma lista de compras com 5 itens diferentes, onde cada item é um dicionário contendo a descrição e preço do produto. Depois disso, percorra a lista e exiba as informações de cada item.

  3. Utilize a lista de compras do programa anterior para identificar qual o produto mais barato e qual o produto mais caro da lista de compras.

  4. Faça um programa que tenha uma lista com 5 de pessoas, onde cada pessoa tem seu nome e sobrenome armazenado em um dicionário, depois disso, exiba todos os nomes e sobrenomes. Para complicar um pouco as coisas, vamos simular que estes dados foram obtidos da web e com isso recebemos algumas inconsistências. Duas das cinco pessoas possuem o dicionário onde as chaves estão em maiúsculo e os outros três em minúsculo.

Atenção

PreviousLaços de Repetição - IINextModularização de código com Funções

Last updated 5 years ago

Was this helpful?

É fortemente recomendado que você tente fazer os exercícios antes de ver as respostas. Você pode encontrar as respostas .

aqui