Na parte 1 eu falei sobre as listas em python e mostrei algumas funções e funcionalidades. Hoje eu vou falar sobre dicionários. os dicionários são bem parecidos com listas, a diferença mais básica é que eles funcionam em um formato chave -> valor. Deixa eu mostrar para vocês um exemplo de dicionário em python:
animais_nota = {"Leão" : 10, "Tigre" : 8, "Penguin" : 7, "Preguiça" : 5 }
print animais_nota["Leão"]
print animais_nota["Penguin"]
print animais_nota
Em um dicionário, é como se ao invés dos nossos indexes começassem de 0, nós mesmos criássemos os nossos próprios indexes. Ou seja, ao associarmos a palavra Leão (chave) ao número 10 (valor), dizemos que no nosso dicionário animais_nota ao acessarmos a posição "Leão" retornaremos o número 10. Nossas chaves podem ser de qualquer tipo, seja string, int, float ou até mesmo uma booleana, porém não é indicado que se tenha um dicionário de mais de um tipo. Ou seja, é sempre bom decidir antes quais serão os tipos de suas chaves e quais os tipos de seus valores. No exemplo acima, os respectivos prints ao imprimir 10, 7 e o último imprimirá todo o dicionário numa ordenação aleatória.
animais_nota["Penguin"] = 10
animais_nota["Raposas"] = ["Raposa-do-artico", "Raposa-Vermelha"]
del animais_nota["Tigre"]
for key in animais_nota:
print animais_nota[key]
Assim como em listas, se quisermos alterar o valor de alguma chave no dicionário, nós podemos. Uma coisa interessante é que podemos passar uma lista como valor de uma chave no nosso dicionário. No exemplo acima temos a chave raposa que contém a lista ["Raposa-do-artico", "Raposa-Vermelha"]. Assim como em listas, podemos deletar uma chave e o valor correspondente a ela no dicionário chamando o método del. Agora temos algo muito interessante: Tanto em listas como dicionários, podemos fazer um loop for iterando por todos os objetos dentro passando um apelido para eles. No caso acima do dicionário, o loop itera dentre as chaves, criando uma variável de referencia temporária que eu escolhi chamar de "key". E por isso ao chamar a função print passando dentro do nosso dicionário a variável key, teremos a impressão de cada um dos valores correspondentes as chaves na ordem em que aparecem no dicionário. Por exemplo: Na primeira iteração a palavra key é igual a "Leão" e imprimirá 10, na segunda teremos "Penguin" (Porque tigre foi deletado) e imprimirá 10 (Porque mudamos o valor de Penguin de 7 para 10).
print animais_nota.items()
print animais_nota.keys()
print animais_nota.values()
Uma forma diferente de iterar sobre o dicionário é usando a função items(). Ela retorna chaves e seus respectivos valores no dicionário, sem uma ordenação específica, no seguinte formato: [("Leão", 10), ("Tigre", 8), ("Penguin", 7), ("Preguiça", 5)]. Já a função keys() retorna todas as chaves de nosso dicionário em formato de lista e a função values() faz o mesmo só que com os valores.