terça-feira, 29 de julho de 2014

Os dicionários são tipos de dados que podem ser interpretados como um vetor associativo só que, ao invés de ser associado a uma posição, o valor está associado a uma chave. Estas podem ser de qualquer valor, podendo ser mesmo um número ou uma string. A premissa que devemos adotar ao construir este tipo de dado é que as chaves devem ser únicas.

Em complemento ao estudo dos dicionários, recomendamos a leitura da documentação oficial do JSON. O JSON é uma formatação muito leve e flexível para troca de dados, com estrutura idêntica à dos dicionários em Python. É o formato de dados de saída do Twitter e do Facebook, por exemplo. Na figura abaixo temos um exemplo de um formato de objeto em JSON.



Confira a documentação no site www.json.org


No post Introdução aos Dicionários - Python falamos sobre a estrutura e as operações iniciais com este tipo de dado.

Recapitulando, criamos um dicionário com a sintaxe

machadoDeAssis = { “Helena” : 1876, “Quincas Borba” :  1891, “A Mao e a Luva” : 1874, “A Moreninha” : 1844}

print machadoDeAssis

E adicionamos um valor

machadoDeAssis[“Dom Casmurro”] = 1899
print machadoDeAssis

Removemos a chave “A Moreninha” pois não é uma obra de Machado de Assis

del machadoDeAssis[“A Moreninha”]
print machadoDeAssis

Para contar os elementos de um dicionário e verificar o seu conteúdo, temos

print len(machadoDeAssis)        #retorna o tamanho do dicionário
“Helena” in machadoDeAssis
True #retorno no shell

Interando com ele

for obra in machadoDeAssis:
                if “Dom Casmurro” in machadoDeAssis:
                               print “Obra encontrada”
                               break
                else:
                               print “Obra nao encontrada”

O mesmo raciocínio é aplicado se quisermos mostrar todas as chaves do dicionário:

print obra in machadoDeAssis:
                print obra

Para ter o par chave:valor

print chave, valor in machadoDeAssis.items():


                print chave, “=>”, valor

Também podemos ordenar os elementos pelo valor de sua chave

for chave, valor in sorted (machadoDeAssis.items()):
                print chave, valor

E, para finalizar, vamos contar o número de vezes que cada elemento aparece no dicionário. A resposta desta agregação é um outro dicionário, com as mesmas chaves do anterior, mas os respectivos valores serão a quantidade de repetições de cada elemento.

count = {} #inicia o novo dicionário

for element in machadoDeAssis:
                count[element] = count.get(element, 0) + 1
print count

Este são os comandos básicos para trabalhar com dicionários em Python. Adicionalmente, a linguagem oferece outra funções e métodos nativos para trabalharmos com este tipo de dados. As tabelas abaixo explicam um a um - funções e depois os métodos

Tabela 1 - Funções

Tabela 2 - Métodos

Um abraço e até o próximo post!

0 comentários:

Postar um comentário