Publicação

Listas e dicionários no Python - Parte 2

foto de
Gabriel Goulart

    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.

Comentários