Escolar Documentos
Profissional Documentos
Cultura Documentos
***************************************************************************************************
***************************************************************************************************
Definição:
Dicionários são bem parecido com listas. A principal vantagem é a possibilidade de escolher
o tipo (Número ou String) e quais são os valores dos índices! E a principal desvantagem é
não existir ordenação! (O método sort só funciona em listas!)
nica <<
Em dicionários, o índice é representado por uma chave que identifica de forma >> ú
cada elemento (Um código, nome, cpf, etc) algo que não se repita! Não podemos ter
chaves repetidas! Pois são os identificadores de cada elemento do dicionário.
OBS: Em Banco de dados será dado bastante ênfase nesse conceito que é chamado de
chave primária. (Primary Key)
OBS: Lembrando que os elementos em lista são indexados por números inteiros!
(Começando em zero) Enquanto em dicionários, os elementos são indexados por uma
chave de qualquer tipo! (Número ou string)
------------------------------------------------------- // ------------------------------------------------------------
EX: Crie um dicionário que represente os dados de um zoológico onde cada animal
possui um código e um nome.
O primeiro passo é analisar, qual dessas informações é algo >> Único << ? O código ou o
nome?
Como pode ter nomes repetidos e o código identifica cada animal de forma única (Assim
como um CPF) então vamos usar o c ódigo como chave do dicionário!
dados = { 100: "Coelho", 255: "Pombo", 353: "Esquilo" }
EX2: Crie um dicionário que represente os dados de um zoológico onde cada animal
possui um nome, um peso e uma altura.
Wait! Agora não temos mais o código, somente nome, peso e altura. Qual deles será o
identificador de cada elemento agora? :O
Como sabemos que é possível ter repetição tanto no peso quanto na altura de um animal.
Então vamos usar o nome como chave do dicionário!
OBS: O enunciado das questões sempre envolvem tabelas com as informações. Nunca
vamos precisar inventar do além todos esses dados. E na dúvida do identificador, é só
observar na tabela qual das informações nunca se repete. :)
------------------------------------------------------- // ------------------------------------------------------------
OBS: Lembrando que em Lista pra acessar o primeiro elemento iríamos usar dados[ 0 ] pois
a contagem dos índices começa em >> Zero << Mas em dicionários >> Não << existe
sequência numérica, podemos usar qualquer valor como índice do elemento!
------------------------------------------------------- // ------------------------------------------------------------
OBS: Lembrando que se colocar um nome de chave que >> N ão << existe no dicionário,
como por exemplo “cat” (Sem querer com letra minúscula) será inserido como um novo
elemento no dicionário!!! :(
------------------------------------------------------- // ------------------------------------------------------------
------------------------------------------------------- // ------------------------------------------------------------
dados[“Pombo”] = [10, 5]
------------------------------------------------------- // ------------------------------------------------------------
for k in dados:
print(k)
OBS: A variável >> k << sempre armazena as chaves (índices) do dicionário! Da mesma
ey << ou >>
forma como a variável >> i << em lista! Pra não confundir, recomendo usar >> k
k << como nome de variável! Justamente pra lembrar que se trata das chaves do dicionário!
:)
------------------------------------------------------- // ------------------------------------------------------------
- Como remover elementos do dicionário?
EX: Remova o elemento “Coelho” do dicionário. (Pombos não gostam de coelhos e estão
criando confusão no Zoológico! :O )
del dados[“Coelho”]
info = dados.pop("Coelho")
print("Informação do Coelho:", info)
print(dados)
OBS: O método pop remove e >> Retorna << o valor do elemento removido!
------------------------------------------------------- // ------------------------------------------------------------
1) O Método get recebe uma chave como parâmetro e retorna seu valor ou a string “None”
se a chave não existe.
Podemos especificar no segundo parâmetro a mensagem que será exibida caso a chave
não exista no dicionário:
nomes = list(dados.keys())
print(nomes)
OBS: Esse método retorna uma sequência de valores do tipo >> T upla << (Não é do tipo
list!) Então se queremos criar uma lista a partir das chaves do dicionário (Nome dos
animais) precisamos converter para o tipo >> l ist <<!
info = list(dados.values())
print(info)
OBS: Exatamente o mesmo esquema do método keys, precisamos converter o tipo para
list!
4) O método update insere todas as chaves que >> Não << estão no dicionário e as que
estão atualiza seu valor.
dados.update(info)
print(dados)
OBS: Como a chave “Dog” não existe no dicionário dados, então ele é adicionado! E como
a chave “Cat” já existe, então ela é atualizada com os novos valores!
info = dados.copy()
print(info)
ão <
Quer dizer que se alterarmos um valor a partir de uma chave, essa alteração >> n <
afeta o dicionário original.
info = dados.copy()
info["Cat"] = [23, 4]
print(dados)
print(info)
Mas se alterarmos um elemento específico da lista que está dentro do dicionário, essa
alteração tb será feita no dicionário original!
info = dados.copy()
info["Cat"][0] = 23
print(dados)
print(info)
info = dados
info["Cat"] = [23,4]
print(dados)
print(info)
OBS: Como é feito uma cópia de ambas referências (Dicionário e dos elementos) agora
qualquer alteração (Inclusive as dos exemplos acima) vai alterar o dicionário original!
------------------------------------------------------- // ------------------------------------------------------------
EX: Crie um dicionário com as informações da tabela abaixo e exiba o nome e o IMC
(Peso / Altura ** 2) de cada um.
Huguinho 1.20 45
Luisinho 1.10 60
Zezinho 1.00 100
Patinhas 1.10 40
Donald 1.20 50
for x in nomes:
if('u' in x):
dados[x][0] += pmed
for k in dados:
print( k + " Peso: %.2f\n" % (dados[k][0]))
EX: Adicione no dicionário a “Clarabela” com altura 2.30 e peso 80Kg e a Peninha
com altura 1.20 e Peso 60Kg.
info = dados.pop("Peninha")
print(info)
EX: Crie uma cópia do dicionário e altere as informações de Donald e exibe na tela
ambos dicionários.
info = dados.copy()
info["Donald"] = [2.0, 100]
print(dados)
print(info)
------------------------------------------------------- // ------------------------------------------------------------