Buscar

Aula 09b - Estrutura de dados (Dicionários)

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 40 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 40 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 40 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Dicionário 
INE 5201 – Python 3 
{‘chave’: valor} 
 
{‘key1’: value1, ‘key2’: value2} 
 
Hash Table 
4.3 Operação com sequências - dicionário 
Dicionários consistem em uma estrutura de dados similar às listas, 
com propriedades de acesso diferentes. 
 
O conteúdo de um dicionário pode ser escrito como uma série de 
pares {chave: valor}, denominado de itens, dentro de chaves { }, por 
exemplo, dict = {key1: valor1 , key2: valor2 , ..., .. }. 
 
 
INE 5201 – Python 3 
key1 
key2 
key3 
key4 
valor1 
valor2 
valor3 
valor4 
keys values 
dicionário 
4.3 Operação com sequências - dicionário 
A criação de um dicionário vazio é apenas referenciado com um 
par vazio de chaves {}, exemplo: 
 
Exemplo de criação de dicionários: 
INE 5201 – Python 3 
keys values 
produtos 
4.3 Operação com sequências - dicionário 
Mais exemplos de criação de dicionários: 
INE 5201 – Python 3 
keys values 
elementos 
4.3 Operação com sequências - dicionário 
Um dicionário é acessado por suas chaves (keys), exemplo: 
O dicionário chamado produtos possui valores (values) associados às 
chaves (keys), assim podemos verificar qual é o valor associado a 
chave ‘Qualidade’. Observe que o valor retornado é ‘alta’. 
 
INE 5201 – Python 3 
keys values 
produtos 
A sintaxe é consistente, tanto para dicionários, listas ou 
string. Exemplo para dicionários  dicionario[chave] 
para listas e strings  listas[índice], string[índice] 
4.3 Operação com sequências - dicionário 
Diferentemente das listas, onde o índice é um número (0, 1, 2, ...), 
dicionários utilizam suas chaves (keys) como índice. 
 
Quando atribuímos ( ) um valor a uma chave, duas coisas podem 
ocorrer: 
 
1. Se a chave já existe: o valor associado é alterado para o novo valor; 
2. Se a chave não existe: a nova chave será adicionada ao dicionário; 
 
Exemplos: 
 
 
INE 5201 – Python 3 
4.3 Operação com sequências - dicionário 
 
INE 5201 – Python 3 
1. Se a chave já existe: o valor associado é alterado para o novo valor; 
4.3 Operação com sequências - dicionário 
 
INE 5201 – Python 3 
2. Se a chave não existe: a nova chave será adicionada ao dicionário (um novo item); 
4.3 Operação com sequências - dicionário 
 
INE 5201 – Python 3 
Acessando uma chave inexistente: 
Se a chave não existir, uma exceção do tipo será ativada. 
 
Para evitar o erro ao procurar por um item (chave: valor) utilize o 
método dict.get(). No caso do método não encontrar a chave, ele 
retorna None e não uma exceção . 
4.3 Operação com sequências - dicionário 
 
INE 5201 – Python 3 
Verificando a existência de uma chave: 
 
Utilização da instrução in: 
>> chave in dicionário ? 
>> retorna True ou False 
 
 
Verificando se a chave (keys) está no dicionário, exemplo: 
 
 
4.3 Operação com sequências - dicionário 
 
INE 5201 – Python 3 
Deletando um item (chave:valor) do dicionário: 
 
Utilização da instrução del: 
>> del dicionário[chave] 
>> deleta o item (chave: valor) 
 
 
Deletando com del o item associado à chave (keys) no dicionário: 
 
 
4.3 Operação com sequências - dicionário 
 
INE 5201 – Python 3 
Métodos utilizados em dicionários - .get() .keys() .values() .items(): 
4.3 Operação com sequências - dicionário 
 
INE 5201 – Python 3 
Método .get(): 
 
 
 
 
Alterando o opcional d no método .get(): 
 
Configurando a resposta padrão d = None, para d = ‘Chave não 
encontrada’. 
 
 
 
Configurando a resposta padrão d = None, para d = 0. 
 
4.3 Operação com sequências - dicionário 
 
INE 5201 – Python 3 
Método .keys(): 
 
 
 
 
 
Obtendo as somente as keys de um dicionário: 
 
 
 
 
4.3 Operação com sequências - dicionário 
 
INE 5201 – Python 3 
Método .values(): 
 
 
 
 
 
Obtendo as somente os values de um dicionário: 
 
 
 
 
4.3 Operação com sequências - dicionário 
 
INE 5201 – Python 3 
Método .items(): 
 
 
 
 
Obtendo os itens de um dicionário: Retorna uma tupla com (chave, 
valor). 
4.3 Operação com sequências - dicionário 
 
INE 5201 – Python 3 
Obtendo valores em um dicionário: 
 
Teste o script 01 no seu computador 
 
 
Script 01: 
4.3 Operação com sequências - dicionário 
 
INE 5201 – Python 3 
Dicionários com listas: 
 
Os valores de uma chave podem ser listas, exemplo: 
keys values 
amostras 
4.3 Operação com sequências - dicionário 
 
INE 5201 – Python 3 
Acessando os valores das listas do dicionário: 
4.3 Operação com sequências - dicionário 
 
INE 5201 – Python 3 
Dicionários com dicionários: 
 
Os valores de uma chave podem ser dicionários, exemplo: 
keys values 
amostras 
4.3 Operação com sequências - dicionário 
 
INE 5201 – Python 3 
Acessando os valores do dicionários: 
 keys values 
amostras 
4.3 Operação com sequências - dicionário 
 
INE 5201 – Python 3 
Loops em dicionários (chaves): 
 
 
 
 
 
 
Da mesma forma: 
 
4.3 Operação com sequências - dicionário 
 
INE 5201 – Python 3 
Loops em dicionários (valores): 
 
 
 
 
 
 
 
4.3 Operação com sequências - dicionário 
 
INE 5201 – Python 3 
Exercício 1 – parte 1: 
 
Crie um dicionário com 6 itens: 
- As chaves podem ser strings ou números; 
- Os valores podem ser strings, números, listas ou dicionários; 
 
Faça um loop para imprimir somente os valores do dicionário 
 
Faça um loop para imprimir somente as chaves do dicionário 
 
Faça um loop para imprimir a chave e o valor do dicionário. Ou seja a 
cada chave lida, imprima sua chave e seu valor. 
 
4.3 Operação com sequências - dicionário 
 
 
INE 5201 – Python 3 
Ordenando a saída do dicionário – sorted(): 
4.3 Operação com sequências - dicionário 
 
 
INE 5201 – Python 3 
items(): 
Ordenando a saída do dicionário – sorted(): 
4.3 Operação com sequências - dicionário 
 
 
INE 5201 – Python 3 
Mais loops: 
4.3 Operação com sequências - dicionário 
 
 
INE 5201 – Python 3 
Usando o método str.format() para strings, para atribuir nomes à chaves de 
forma automática em dicionário, com um loop: 
 
 
Método .format() aplicado à strings: 
 
 
 
 
 
 
 
Exemplos: 
4.3 Operação com sequências - dicionário 
 
 
INE 5201 – Python 3 
Método .format() aplicado à strings, mais exemplos: 
 
0 1 
0 1 
4.3 Operação com sequências - dicionário 
 
 
INE 5201 – Python 3 
Método .format() aplicado à strings, mais exemplos: 
 
0 1 
0 1 
4.3 Operação com sequências - dicionário 
 
 
INE 5201 – Python 3 
Usando o método str.format() para strings, para atribuir nomes à chaves de 
forma automática em dicionário, com um loop: 
 
 
 
 Dicionário  exercícios 
 
INE 5201 – Python 3 
4.3 Operação com sequências - dicionário 
 
 
INE 5201 – Python 3 
Script 02 
 
4.3 Operação com sequências - dicionário 
 
 
INE 5201 – Python 3 
O script se refere a uma relação de estoque de mercadorias, onde possuímos além 
do preço uma quantidade em estoque. 
No dicionário temos o produto, a quantidade em estoque e o preço: 
 
 
 
No script são feitas algumas operações de vendas, onde ocorre a saída de alguns 
produtos, ocasionando a redução na quantidade em estoque. 
 
Vamos detalhar o script em partes: 
 
 
 
No loop for, à é atribuída um lista de dois elementos;Pois ´é uma lista onde cada elemento é 
uma lista com dois elementos. Assim, 
Na primeira iteração 
Na segunda iteração 
4.3 Operação com sequências - dicionário 
INE 5201 – Python 3 
 
 
 
 utilizamos aqui um desempacotamento dos elementos. 
Onde, na primeira iteração , assim, 
 é o mesmo que: 
 
 
Consequentemente 
4.3 Operação com sequências - dicionário 
INE 5201 – Python 3 
 
 
 
 utilizamos aqui o conteúdo de como chave no dicionário . Como 
nossos dados são uma lista, escolhemos o segundo elemento, que armazena o preço 
do referido produto. Observe que atribuir nomes a cada um desses componentes 
facilita a leitura do programa. 
4.3 Operação com sequências - dicionário 
INE 5201 – Python 3 
 
 
 
 utilizamos aqui uma formatação especial, fazendo uso dos marcadores de string . 
 
 
 
Exemplos 
Faça outros testes com os 
marcadores e avalie sua 
funcionalidade. 
4.3 Operação com sequências - dicionário 
INE 5201 – Python 3 
 
 
 
 atualizamos a quantidade em estoque subtraindo a quantidade vendida do 
estoque atual. 
4.3 Operação com sequências - dicionário 
INE 5201 – Python 3 
 
 
 
 
 utilizamos o método .items() do objeto estoque. O método retorna uma tupla 
contendo, (chave, valor), de cada item armazenado no dicionário. 
 
Usando um loop for com duas variáveis efetuamos o 
desempacotamento desses valores em uma passagem só. 
 
Para entender melhor como isso acontece, experimente alterar o script para exibir 
valores de chave e dados a cada iteração. 
4.3 Operação com sequências - dicionário 
INE 5201 – Python 3 
Exercícios: 
 
Exercício 2: 
Altere o script 02 de forma a solicitar ao usuário o produto e a 
quantidade vendida. Verifique se o nome do produto digitado existe 
no dicionário e só então efetue a baixa em estoque. 
 
 
Exercício 3: 
Escreva um programa que gere um dicionário, onde cada chave seja 
um caractere e seu valor seja o número de vezes que esse caractere é 
encontrado em uma frase lida.

Continue navegando