-
Vamos
ver agora a estrutura de dados que foge
-
um pouco das outras
que a gente já conhece.
-
Os dicionários,
as estruturas que a gente já conhece
-
se baseiam basicamente na ideia
de guardar uma coleção de itens,
-
ou seja, armazenam,
-
de uma forma ou de outra, alguns itens
que juntos formam um conjunto,
-
seja alguns que permitem
que a gente acessem indexação,
-
outros que garantem imutabilidade
ou mesmo que impedem que a gente
-
repita itens lá dentro.
-
Cada um com seu propósito,
cada um com o seu objetivo.
-
Mas quando a gente fala de dicionários,
a gente até pode
-
usá los pra guardar alguma coisa
que se pareça com a lista,
-
mas o propósito inicial
não é necessariamente esse.
-
Ele é mais focado em indexação
através de chaves e valores.
-
É claro, ele não é chamado assim à toa.
-
Imagina realmente
como funciona um dicionário.
-
Imagine que você precisa pegar
o significado de alguma palavra qualquer.
-
A primeira coisa que você vai fazer
achar a página a onde aquela palavra está
-
escrita,
ou seja, essa palavra e a sua chave.
-
E o valor é a descrição
que tem o significado daquela palavra.
-
Dessa forma,
-
quando a gente trabalha com dicionários,
-
a gente tem que pensar
nessa estrutura de chave e valor.
-
A chave pode ser algum tipo de índice,
-
algum ID ou qualquer informação curta
-
que represente
que faça uma referência para algo maior.
-
E o valor é justamente esse algo maior.
-
Se a gente quiser usar um dicionário para
guardar um banco de dados, por exemplo,
-
a chave seria o ID e o valor seria
o registro que está guardado naquele ID.
-
Entendeu, né?
-
Então vamos lá para o código ver
como é que a gente constrói um dicionário
-
e usa ele aqui dentro do versículo.
-
Eu já tenho o meu arquivo meio ponto.
-
E é aqui que a gente vai começar
a criar o nosso dicionário.
-
A estrutura que a gente vai representar
aqui vai ser a de uma pessoa.
-
Então vamos começar
definindo aqui uma variável a pessoa
-
que vai receber a inicialização
desse nosso dicionário.
-
A inicialização do dicionário no Python
é feita através do símbolo de chaves
-
e a gente pode ou não já começar
a colocar os nossos valores aqui dentro.
-
Vamos colocar o valor
logo na inicialização e lembrar.
-
Diferente das outras estruturas,
a gente tem que se basear em chaves,
-
não as chaves caracter, mas o índice que
determina o identificador daquele valor.
-
Traduzindo a gente
precisa de uma informação pequena
-
para poder colocar o valor do lado.
-
Então como eu tô tratando de uma pessoa,
a chave que eu vou adicionar aqui
-
vai ser o nome,
então eu vou colocar aqui entre aspas
-
nome, dois pontos
e o valor que pode ser por exemplo
-
Ana. E
pronto, tá feito o nosso dicionário.
-
Vamos executar o método print aqui,
passando a variável pessoa para a gente
-
ver como que isso se comporta
aqui no terminal.
-
Então eu vou digitar Python
ponto X e ponto a ponto pai,
-
e a gente consegue ver ali.
-
Já a estrutura do nosso dicionário
com a propriedade, nome e o valor.
-
Ana Mas a gente consegue deixar isso
um pouco mais complexo.
-
Imagina, por exemplo, que essa pessoa
-
tenha vários animais de estimação
e que cada um deles tenha um nome.
-
Então a gente está falando de uma chave
chamada animais de estimação e a gente
-
pode fazer isso tanto na inicialização
quanto após a declaração da variável.
-
Saca só, Eu vou colocar aqui pessoa
e eu vou usar os colchetes
-
para acessar uma nova chave
que eu vou chamar de animais D.
-
Eu vou deixar só animais para ficar menor
-
e eu coloco aqui na frente
o valor que eu quero.
-
Anteriormente a gente criou a chave nome
e colocou o valor
-
que é do tipo string ana, ou seja, texto.
-
Mas a gente não está limitado a só esses
tipos.
-
A gente pode usar qualquer tipo
que a gente quiser,
-
inclusive outras estruturas de dados,
como a lista.
-
E por esse motivo
a gente vai colocar aqui os colchetes
-
para criar uma nova lista
de animais de estimação.
-
E eu vou começar então colocando
o nome de dois deles, que vai ser bolinha
-
e Floquinho,
-
que são os dois cachorros da Ana.
-
E se a gente executa aqui novamente
o nosso código a gente consegue ver aqui
-
no terminal
a chave nome com o valor Ana e a chave
-
Animais com os valores Bolinha e Floquinho
que é uma lista.
-
Olha que legal,
-
a gente está conseguindo constatar
-
aquele comportamento
que a gente falou mais cedo.
-
A gente até consegue simular
uma ideia de lista, mas não é o foco aqui.
-
O foco aqui são as chaves,
que por enquanto é nome e animais
-
a gente consegue adicionar
quantas a gente quiser
-
e se a gente quiser,
a gente consegue também acessá
-
las usando aquela chave
dentro dos colchetes.
-
Da mesma forma que a gente fez
para atualizar.
-
Mas se a gente quiser apenas acessar,
-
podemos fazer isso sem colocar
nenhum valor na frente.
-
Olha só como é que a gente faz
para acessar o nome da Ana
-
individualmente, Caso a gente queira,
basta que a gente vem aqui
-
onde está a pessoa que a gente sabe
aqui, que é a Ana, e coloque a chave,
-
nome ou qualquer uma
que a gente queira nesse caso, o nome.
-
Se a gente executar novamente,
apenas o valor daquela chave é exibido.
-
E se a gente quiser também excluir
uma chave existente, é muito simples.
-
A gente pode usar a função
nativa do Python
-
e especificar qual chave
a gente quer excluir.
-
Veja só.
-
Imagina, por exemplo,
que a gente queira excluir a chave nome
-
logo depois de criar a chave animais.
-
A gente pode vir aqui e executar
a função de delete e passar para ela
-
o objeto ou o nosso dicionário pessoa
-
e informar aqui a chave nome.
-
Dessa forma
eu falei para o Python criar um dicionário
-
que tem uma chave pessoa
e depois criar uma chave lá dentro
-
chamada animais com esse valor
e excluir a chave nome.
-
Veja só o que acontece
se eu mantiver o código dessa forma
-
enquanto ele tenta acessar a chave nome
que eu acabei de excluir?
-
O Python dá um erro
-
porque essa chave simplesmente
não existe naquele dicionário.
-
Embora a gente tenha esse acesso fácil,
se a gente tentar acessar uma chave
-
que não existe,
-
o Python vai dar um erro e o nosso
programa pode acabar sendo encerrado.
-
E caso a gente queira evitar isso, a gente
pode usar o método GET do dicionário
-
para recuperar uma chave caso ela exista
ou retornar um valor padrão.
-
Saca só.
-
Imagina que aqui eu queira de fato
pegar o resultado,
-
o valor da propriedade,
nome ou da chave nome.
-
Eu posso tentar vir aqui
e executar o método GET
-
informando para ele
a chave que eu quero acessar.
-
Só de fazer isso,
-
ao executar novamente o nosso programa,
o Python não retorna mais um erro,
-
mas sim a informação
não indicando que aquela chave não existe
-
e por isso o Python retornou o valor
que não significa nada.
-
Ou seja, eu fui lá,
tentei acessar, não existia.
-
Então eu te retornei nada.
-
Mas caso a gente queira, esse método
também permite que a gente informe
-
um valor padrão
para quando essa chave não existe.
-
Então imagine que ao acessar uma pessoa,
a propriedade ou a chave nome
-
de uma pessoa que não está definida,
eu retorne,
-
Por exemplo, não definido.
-
E se a gente executar novamente
o nosso programa, ele não da erro,
-
não exibe o nome, mas sim o valor
que a gente definiu por padrão
-
e com isso a gente conseguiu entender
as características básicas
-
e as operações principais
desse tipo de dado aqui.
-
E embora o dicionário seja um pouco
diferente dos tipos que nós já conhecemos,
-
a gente também consegue usar ele
para representar listas ou coisas do tipo.
-
Como eu disse anteriormente,
se a gente tiver uma lista de usuários,
-
a gente pode usar a chave para colocar
o ID desse usuário ou o mesmo nome.
-
Dessa forma,
a gente consegue iterar sobre as chaves
-
acessando o nome ou a ID,
ou até mesmo um documento
-
e acessar o valor
apenas quando necessário.
-
E dessa forma
a gente consegue criar de fato
-
um catálogo
em que a gente consegue acessar
-
os itens de forma rápida e concisa,
sem necessariamente
-
ter que iterar por todos eles,
procurando algum valor específico.