NOME DURAÇÃO
Curso de Python
Primeira Aula de Python
Como Instalar o Python no Windows
Características do Python
Recursos do Python
IDLE - Modo Interativo do Python
Instalando o PyCharm no Windows
Primeiro programa em Python
Comentários em Python
Indentação do código Python
Variáveis em Python
Características das Variáveis em Python
Nomenclatura das Variáveis em Python
Tipos de dados em Python
Variáveis do tipo Ponto Flutuante do Python
Entrada de Dados em Python
Operadores Aritméticos do Python
Módulo da Divisão em Python
Potenciação e Radiciação em Python
Operadores Relacionais do Python
Tomada de Decisão em Python
Estrutura if e else em Python
Depurando código Python
Operadores Relacionais Compostos do Python
Operadores Relacionais na Prática em Python
Operadores Lógicos em Python
Blocos de Instrução em Python
Blocos de Instrução em Python (Parte II)
Blocos de Instrução Python na Prática
Escopo de Nomes em Python
Estrutura de Atribuição Simples do Python
Atribuição Múltipla em Python
Operadores de Atribuição Compostos do Python
Atribuição Condicional em Python
Iteração em Python
Laços de Repetição do Python
Estrutura de repetição while em Python
A instrução for em Python
A função range() do Python
O for loop e a função range() do Python
Instrução break do Python
Instrução continue em Python
Estruturas de Dados Lista em Python
Lista, Pilha, Array, Set em Python
A classe list do Python
Classe list - Conceitos Avançados do Python
Funções da Classe list do Python
Iteração de Listas em Python
Fatiando Listas em Python
Incluindo, Alterando e Excluindo Elementos no Python
Ordenamento de Listas em Python
Quantidade de Itens em Python
Tuplas em Python
Operadores in e not in do Python
Operadores and, or e in do Python
Exemplo com Operador in em Python
Introdução às Strings em Python
Fatiando Strings com Python
Funções das Strings no Python
Comparação de Strings em Python
Iterando Strings em Python
Introdução aos Dicionários do Python
Dicionários na Prática com Python
Funções dos Dicionários no Python
Introdução às Funções em Python
Parâmetros de Função em Python
Parâmetros default em Python
Argumento de Função Nomeado vs Posicional em Python
Retornando Valores pelas Funções em Python

Nessa aula estudaremos os dicionários, uma estrutura simples de ser usada que nos proporciona uma forma de programar rápida e simples, produzindo um código legível e fácil de ser entendido.

INTRODUÇÃO

Já estudamos as listas, como também, aprendemos diversas formas para manipula-las. Agora, nós daremos início ao estudo dos dicionários, uma das estruturas mais utilizadas internamente pelas bibliotecas do Python. Ou seja, muito das implementações que utilizamos, foram construídas, fazendo uso de dicionários. E também, raras são as vezes que desenvolvermos um programa em sem a utilizarmos um dicionário, até porque, o mesmo representa da melhor maneira a estrutura chave-valor.

O QUE É UM DICIONÁRIO?

Um dicionário é uma lista especializada onde cada valor está diretamente relacionado a uma chave.

Até agora, nós estávamos utilizando estruturas como listas e tuplas. Nestas, nós temos que cada elemento é associado a um número inteiro não negativo, então, podemos dizer que a estrutura lista do Python é, em sua definição mais primitiva, um dicionário. Onde a chave é o número inteiro, e o valor, o objeto que estamos associando a este número.

A grande diferença dos dicionário para as listas, é que com os dicionários, é nossa responsabilidade a construção e o gerenciamento do índice e também, nós podemos utilizar como índice qualquer objeto não mutável.

Ou seja, nós podemos definir que cada item terá uma cadeia de caracteres vinculado, logo, para acessar este item, deve-se informar qual a sequência de caracteres desejado. Também podemos associar um número como índice ou então, nós podemos definir que alguns elementos terão vinculados um número e outros uma string ou mesmo, uma tupla.

Nós temos uma estrutura chave-valor, e cada chave sempre estará relacionada a um valor qualquer. Logo, podemos dizer que um dicionário pode funcionar como uma lista, mas uma lista não consegue trabalhar como um dicionário.

A estrutura de dicionário é uma estrutura abstrata, assim, podemos estende-la e implementarmos uma lista simples, uma tupla ou então, a estrutura de chave-valor que desejarmos.

>>> x = {"aaa":1, "bbb":2, "ccc":3}
>>> x
{'bbb': 2, 'aaa': 1, 'ccc': 3}

No exemplo acima, associamos um conjunto de caractere a um determinado objeto numérico. Agora, para recuperarmos dos objetos numéricos, basta informarmos a respectiva cadeia de caracteres, por exemplo:

>>> x["aaa"]
1
>>> x["bbb"]
2

O que temos é que a chave está vinculado a um valor único dentro da estrutura do dicionário. Caso uma chave não contida no dicionário seja passada, será retornado um erro, por exemplo:

>>> x["ddd"]

Nós adicionamos uma série de itens numa determinada ordem, porém, se nós iterarmos o nosso dicionário e imprimirmos os seus elementos, não necessáriamente os itens serão impressos numa ordem pre-estabelecida. Talvez, quando estivermos trabalhando com um pequeno dicionário a recuperação de elementos ocorra num determinada ordem, porém, não se pode confiar que os elementos do dicionário estarão ordenados.

CHAVES INVÁLIDAS

Em um dicionário, nós podemos definir como chave de um elemento, qualquer estrutura imutável, como exemplo, uma tupla ou então, uma string. Porém, se nós tentarmos atribuir como chave uma lista, não será possível e isso acontece, porque internamente, um dicionário utiliza um valor que é obtido através de uma chave. Logo, se nós tivermos uma estrutura mutável, o valor que o dicionário utilizou como índice terá sido mudado e então, o armazenamento chave-valor não mais funcionará.

CONJUNTOS DE ELEMENTOS COMO CHAVE

Em Python, o trabalho e manejo de listas é uma tarefa relativamente simples. Um dicionário, por exemplo, pode ter um elemento que possui uma chave mapeada através de um conjunto de objetos. Assim, nós conseguimos, por exemplo, montar arranjos, onde um grupo de elementos está mapeado a um objetos ou mesmo, um conjunto de objetos. Assim, temos que a chave de cada elemento deve ser um objeto imutável, porém, o valor pode ser qualquer objeto, indiferente do seu funcionamento.

>>> dic = {("a", "b", "c"):1, ("d", "e", "f"):2, ("g", "h", "i"):3}
>>> dic[("d", "e", "f")]
2

Acima, nós temos um exemplo onde um número está associado a um conjunto de caracteres. Devido ao fato de que uma tupla é um objeto imutável, ou seja, após cria-la não mais é possível adicionar, alterar ou remover elementos, logo, nós podemos associar um objetos a um conjunto de elementos.

É importante observar, que uma tupla pode conter os mesmos elementos e ainda assim ser diferente. Isso porque, a disposição dos elementos numa lista ou numa tupla a faz diferente de outra, mesmo que ambas contenham os mesmos elemento. Por exemplo:

premios = {
    (44,12,07,08,50,23,47):"Carro",
    (24,55,02,48,40,33,41):"Casa"
}

VEJA TAMBÉM



Tags curso, python, dicionário

Comentários

comments powered by Disqus