09 Python - Dicionarios
09 Python - Dicionarios
Introduo Programao
SI1
Contedo
Dicionrios
Conceitos
Operaes
Mtodos
Exerccios
Dicionrios
So estruturas de dados que
implementam mapeamentos
Um mapeamento uma coleo de
associaes entre pares de valores
O primeiro elemento do par chamado de
chave e o outro de valor
chave
chave
chave
valor
valor
valor 3
Dicionrios
Um mapeamento uma
generalizao da ideia de acessar
dados por ndices, exceto que, num
mapeamento, os ndices (ou chaves)
podem ser de qualquer tipo
Geralmente strings e inteiros
4
Dicionrios
Dicionrios representam outra
estrutura de dados interna de Python
Hash tables
Listas indexadas por inteiros
Dicionrios indexados por chaves
(keys), que podem ser de qualquer tipo
imutvel (como strings e inteiros)
Dicionrios
Tm comprimento varivel, so
heterogneos e podem ser
aninhados
So delimitados por {}
Lista de pares chave/valor
separados por vrgulas dentro dos
delimitadores ({})
Operaes
Criando o dicionrio e seus elementos
Exerccios
Crie um dicionrio d e coloque nele seus
dados: nome, idade, telefone,endereo.
Usando o dicionrio d criado
anteriormente, imprima seu nome.
Exerccios
Crie um dicionrio d e coloque nele os
dados fornecidos pelo usurio: nome,
idade, telefone,endereo.
Tambm usando d, imprima todos os
itens do dicionrio no formato chave :
valor, ordenado pela chave
Operaes
Modificando elementos
10
Operaes
Elementos heterogneos/removendo elementos
11
Operaes
As chaves dos dicionrios no so
armazenadas em qualquer ordem
especfica
Na verdade, dicionrios so implementados
por tabelas de espalhamento (Hash Tables)
12
Operaes
Listas de chaves e valores
Mais Operaes
Acesso a valores e chaves
14
Mtodos
clear()
Remove todos os elementos do dicionrio
15
Mtodos
copy()
Retorna um outro dicionrio com os
mesmos pares chave/contedo
16
Mtodos
pop(chave)
Obtm o valor correspondente chave e
remove o par chave/valor do dicionrio
17
Mtodos
iteritems()
Possibilita que cada chave/valor sejam
recuperados em um for
18
Mtodos
update(dic)
Atualiza um dicionrio com os elementos de outro
Os itens em dic so atualizados ou adicionados um a um
ao dicionrio original
19
Mais Operaes
Aninhamento
20
Dados
Utilizado tambm para criar estruturas
usadas em manipulaao de dados
Exemplo:
Estruturas de registros
Registros de Dados
22
Exerccios
2. Crie um dicionrio que uma agenda e
coloque nele os seguintes dados: chave (cpf),
nome, idade, telefone. O programa deve ler
um nmero indeterminado de dados, criar a
agenda e imprimir todos os itens do
dicionrio no formato chave: nome-idadefone.
23
Exerccios
3. Crie um programa que cadastre
informaes de vrias pessoas (nome,
idade e cpf) e depois coloque em um
dicionrio. Depois remova todas as
pessoas menores de 18 anos do
dicionrio e coloque em outro dicionrio.
24
Exerccios
4. Considere um sistema onde os dados so
armazenados em dicionrios. Nesse sistema
existe um dicionario principal e o dicionrio
de backup. Cada vez que o dicionrio
principal atinge tamanho 5, ele imprime os
dados na tela e apaga o seu contedo. Crie
um programa que insira dados em um
dicionrio, realizando o backup a cada dado
e excluindo os dados do dicionrio principal
quando ele atingir tamanho 5.
25
Matrizes com
Dicionrios
Exemplo:
26
Matrizes com
Dicionrios
Inicializando uma matriz:
27
Matrizes com
Dicionrios
Soma de duas matrizes
28
Matrizes com
Dicionrios
Soma de duas matrizes
29
EXERCCIOS
30
Exerccios
5. Faa um algoritmo que preencha uma
matriz 3 X 3 de inteiros e escreva:
A matriz completa
A soma dos nmeros mpares da matriz
A soma dos nmeros pares da matriz
31
Exerccios
6. Fazer um programa que efetua a multiplicao
de duas matrizes de valores inteiros.
O programa deve ler o numero de linhas e colunas de
cada matriz e gerar valores aleatrios para estas.
Ao final, o programa deve imprimir as matrizes originais
e a matriz com a multiplicao das duas anteriores.
32
Exerccios
7. Elabore um algoritmo que preencha
uma matriz 4 X 4 de inteiros e depois
faa:
Imprimir toda a matriz.
Trocar a segunda linha pela terceira.
Trocar a primeira pela quarta coluna.
Imprimir novamente a matriz
33
Exerccios
8. Elabore um programa que preencha
uma matriz 4 X 4 de inteiros e em
seguida gere uma lista com a mdia
aritmtica de cada uma das linhas da
matriz. Escrever a matriz completa e o
contedo da lista com as mdias.
34
Bibliografia
Python Tutorial
http://www.python.org/doc/current/tut/tut.html
Dive into Python
http://www.diveintopython.org/
Python Brasil
http://www.pythonbrasil.com.br/moin.cgi/Documenta
caoPython#head5a7ba2746c5191e7703830e02d0f532
8346bcaac
35