Fala impressionador nessa aula a gente vai falar sobre dicionários no Python que são uma das estruturas mais usadas do Python mais versáteis que permitem você fazer muita coisa e que todo programador em Python deveria dominar esse vídeo faz parte de uma série de vídeos do nosso curso básico de Python o link da playlist completa aqui do YouTube tá aqui na descrição disponível para vocês então dá uma olhada na playlist inteira e vem com a gente nessa aula para aprender sobre dicionários e como que a gente usa isso dentro dos conceitos de Python como que a gente junta isso com toda a base de Python que você precisa ter vamos ver no vídeo de [Música] hoje bom galera se você gostou da ideia do vídeo já deixa seu like e se inscreve no canal para continuar acompanhando essa playlist toda e todos os conteúdos que a gente posta aqui E lembra que todos os gabaritos arquivos das aulas arquivo que a gente vai fazer no nosso projeto final desse curso básico tudo vai est aqui na descrição do vídeo pega lá para você não perder nada e vamos lá pro vídeo para aprender sobre dicionários tá então eu vou começar o nosso a nossa aula de hoje adicionando um arquivo aqui no vest code o arquivo aula 6py onde a gente vai aprender sobre dicionários e Qual é o objetivo dos dicionários E como eles funcionam imagina o seguinte imagina que você trabalha numa empresa e cara isso acontece muito tá esse exemplo que eu vou dar aqui vai ser um exemplo de uma loja por exemplo mas isso poderia isso acontece em todosos cenários eu tenho certeza que você consegue pensar em algum exemplo da sua situação aí eu tenho lá uma lista de produtos por exemplo que vai ser vários produtos sei lá da Apple Apple eu tenho aqui aqui um airpod eu tenho aqui um iPad eu tenho aqui um iPhone e eu tenho aqui um Macbook Beleza então a gente tem lá todos esses produtos aqui da Apple E aí cada um desses produtos eles têm um preço associado a eles uma lista de preços então por exemplo o airpod Digamos que custe r$ 2000 o iPad Digamos que custe r$ 9. 000 o iPhone r$ 6000 e o Macbook R 11$ 11. 000 Digamos que seja isso Beleza o que que acontece essas duas listas aqui são listas separadas tá então se eu chegar aqui em algum momento e eu resolver Putz vou ordenar então a lista de preços aqui eu ordenei a lista de preços se eu ordenar a lista de preços eu vou ter que tentar juntar ela a que são os preços né que são a lista de produtos eu vou ter que tentar ordenar ela junto com a lista de produtos para porque por exemplo se eu colocar isso aqui em ordem crescente vai ficar 2.
000 6. 000 9. 000 e 11.
000 só que 6. 000 é o preço do iPhone 9. 000 é o preço do iPad você entende que tipo esse preço ele não é número solto que tá aqui ele tem um rótulo associado a ele não tem esse 9.
000 aqui é o do iPad Se eu mudar isso aqui de ordem o iPad aqui também teria que mudar de ordem porque senão vai dar problema só que isso aqui são duas listas separadas Então pode acontecer de você mexer em uma e a outra não acompanhar e tudo mais ou seja sempre que você tem informações que você quer que essas informações ten um rótulo associado a essas informações você vai usar a estrutura de um dicionário porque o que que o dicionário permite você fazer então Esso aqui vai ser o nosso dicionário por isso que eu botei Dick de produtos Tá o que que o nosso dicionário de produtos vai permitir a gente fazer um dicionário ele nada mais é do que a mesm estrutura de uma lista só que em invés de estar entre colchetes ele tá entre Chaves e cada valor do dicionário ele tem um par de chave dois pontos valor é assim que a gente constrói um dicionário então na lista a gente só colocava um valor vírgula outro valor vírgula outro valor vírgula no dicionário não a gente coloca uma chave dois pontos valor vírgula outra chave dois pontos valor vírgula outra chave dois pontos valor e assim vai por as chaves são os rótulos e os valores são os valores mesmos que a gente quer que estejam ali dentro então por exemplo a nossa lista de produtos no nosso dicionário ele poderia muito bem ser o airpod vai ser 2000 o iPad vai ser 9. 000 o iPhone vai ser 6. 000 e o Macbook vai ser 11.
000 E aí faça o que você quiser mas essa dicionário de produtos aqui tá Sempre acompanhado o rótulo tá Sempre acompanhado do preço e a vantagem Além disso é que você tem numa única estrutura só no dicionário você tem mais de uma informação você não tem só o nome do produto Você tem o nome do produto preço do produto e você poderia ter outras coisas porque o valor de um dicionário pode ser uma lista de informações pode ser o preço do produto pode ser por exemplo a capacidade do sei lá o preço a capacidade ou então o peso do produto e assim vai então vamos colocar aqui a capacidade o airpod não tem capacidade né não tem Quantos giga o iPad tem o iPad tem Ah então a capacidade dele aqui esse aqui iPad vai ser 128 GB o iPhone também tem capacidade ele vai ser 256 GB o Macbook também tem capacidade então o Macbook vai ser por exemplo 500 GB e assim vai tá vendo Então você pode ter no dicionário um rótulo e várias informações associadas a esse rótulo eu vou dar vários control ZS aqui para voltar porque no nosso caso a gente só quer o preço dos produtos pra gente poder fazer todos os exemplos agora mas foi só para mostrar para vocês que aqui no valor do dicionário Você pode ter Quantas coisas você quiser o que importa é é um rótulo e várias informações que você pode ter associado a esse rótulo Beleza beleza e aí vamos lá como que a gente faz para pegar uma informação daqui de dentro nas listas do Python a gente fazer assim na lista eu vou pegar o cara de índice zero de índice um de índice dois de índice TR no no dicionário você não faz isso você não pega um elemento de acordo com a posição dele você pega um elemento de acordo com o rótulo dele então para você pegar um elemento Como que você faz você faz assim eu vou querer pegar por exemplo o dicionário produtos elemento airpod E aí quando você rodar ele vai dar para você como resposta o preço dele 2. 000 então você passa o dicionário e entre colchetes o nome da chave do cara que você quer pegar e aí ele vai pegar o preço dele 2. 000 Beleza se eu pegasse aqui agora oo preço do iPad ele vai me dizer 9.
000 tá vendo ele é uma informação rotulada é muito mais fácil você não tem que ficar pegando a posição do cara nem nada do tipo não você passa aqui o nome e bum Ele pega a informação para você automaticamente da mesma forma para você editar um elemento para você editar um elemento Como que você faz você fala Dick produtos produto preço do iPhone vai ser agora 7500 ou então vai ser o antigo preço do iPhone di iPhone então o novo preço dele vai ser o antigo dele se eu aumentar 30% vezes 1. 3 né vezes 1. 3 é a mesma coisa que aumentar em 30% um preço Então eu tenho esse preço aqui vezes 1.
3 então o novo valor do iPhone vai ser o antigo valor vezes 1. 3 e aí se eu chegar aqui agora e printar o dicionário produtos você vai ver que ele vai mostrar para mim ó airpod 2000 iPad 9000 iPhone 7800 tá vendo Então ele pum multiplicou por 1. 3 e calculou o novo valor aqui e a gente editou o elemento do dicionário beleza essa daqui é a propriedade mais útil do dicionário tá é o que a gente acaba mais usando nos dicionários na prática Mas ainda tem outras coisas que são muito importantes por exemplo se eu quisesse chegar aqui e saber quantos produtos eu tenho no meu dicionário de produtos como que a gente faria isso pegar a quantidade de itens como que a gente poderia fazer isso da mesma forma que a gente fazia com lista a gente usa o método do lem de tamanho qual o tamanho do meu dicionário produtos se você rodar isso aqui ele vai dizer para você que você tem quatro itens no seu dicionário produto Um item dois itens três itens quatro itens Então são quatro itens no dicionário produtos Beleza agora Como que eu faço para retirar um item né se eu quero retirar um item do dicionário e como que eu faço para adicionar um item no dicionário isso é super interessante para retirar um item do dicionário é igual a gente tirava nas listas uma das opções que a gente tinha na lista né uma das opções que a gente tinha na lista era o remove mas uma outra opção era o ponto pop e no ponto pop você passa no ponto pop o índice do elemento que você quer tirar só que no dicionário o índice do elemento é a chave é o nome mesmo do cara que você quer tirar então se eu fizer um dicionário pon pop aqui você vai passar o nome do produto que você quer tirar por exemplo airpod E aí se depois disso eu der um print aqui no meu dicionário produtos você vai ver que olha lá ele tem o iPad o iPhone o Macbook mas ele não tem o airpod porque esse ponto pop aqui tir um airpod ali da lista E aí se eu quiser adicionar um elemento na minha lista no meu dicionário Como que você faz você faz da mesma forma que você faria para editar um elemento isso é muito legal do dicionário então por exemplo se eu quiser editar agora o elemento Apple watch O legal é que se o elemento Apple watch existir no meu dicionário ele vai ele vai substituir se ele não existir ele vai criar esse elemento então por exemplo vou botar aqui 2500 digamos você for comprar um Apple watch Ele custa 2500 olha olha lá quem vai ser o meu dicionário produtos eu vou até tirar o ponto pop aqui de cima para ele não sumir com o airpod Tá bom vou deixar ele comentado aqui olha lá quem vai ser meu dicionário produtos Apple bot Tá vendo só que repara essa linha de código é a mesma coisa dessa linha de código de editar um elemento que que acontece um dicionário não permite que você tenha elementos duplicados aqui dentro você não pode ter dois elementos com a mesma chave do dicionário um dicionário você só pode ter um elemento com aquela chave do dicionário o que significa que se você tem tá fazer isso aqui do Apple watch se não existe um elemento ele vai criar se já existe um elemento Ele não cria outro ele edita o elemento que já existe Então você nunca vai ter dois el mesmo que você tentasse juntar dois dicionários por exemplo ah Digamos que eu tivesse agora um segundo dicionário de produtos é possível ter um segundo dicionário de produto tentar juntar esses dois dicionários é possível mas ele o que que ele vai fazer ele ou vai dar um erro para você ou ele vai manter só um Na verdade ele vai manter só um porque ele não permite você jun você ter duas vezes o mesmo produto né o mesmo a mes a chave do dicionário dentro de um dicionário beleza e aí tem alguns outros métodos que podem ser interessantes que são para verificar coisas no dicionário por exemplo eu quero saber se um produto existe na minha loja agora eu não tô armazenando essa informação numa lista tô armazenando no dicionário como que eu sei se um produto existe aqui no meu dicionário você pode fazer essa verificação então verificar se Um item existe no dicionário E aí aqui você tem duas opções você pode verificar se uma chave existe no dicionário que é o padrão é o mais comum é o que você mais vai fazer mas você pode também verificar se um valor existe nos valores do dicionário então repara o seguinte quando você procura se uma coisa existe no dicionário você normalmente tá procurando nas Chaves do dicionário eu tô procurando se esse elemento existe então se eu chegar aqui e fizer assim ó se a gente já aprendeu um wif né então se o iPhone existe no meu dicionário produtos quando você faz if de Um item dentro do dicionrio printa existe produto caso contrário print não existe olha lá o que que vai acontecer ele vai dizer que existe o produto tá existe o produto por porque o iPhone tá no dicionário o iPhone tá no dicionário tá vendo agora se você botar aqui por exemplo o número 9000 tá no dicionário não tá no dicionário 99000 tá no dicionário só que ele não tá nas Chaves do dicionário quando você faz uma verificação de se Um item existe no dicionário Olha lá ele não procura nos valores ele sempre procura nas Chaves do dicionário Então isso é o padrão dos dicionários em Python sempre que você for verificar se alguma coisa existe no dicionário que é a forma normal que a gente vai usar mesmo na prática só verificando se existe um item no dicionário com aquela chave é isso que você quer saber se você quiser verificar se algum doss valores do dicionário Existe alguma coisa como que você faz você vai fazer um if diferente tá então aqui você vai fazer um item if diferente você vai fazer assim se 9.
000 Então vamos botar aqui fora do IF se 9000 que é um valor existe no meu dicionário produtos ponto vos O que que é esse ponto vos esse ponto velos ele basicamente vai pegar os valores do dicionário e vai transformar eles numa lista de itens para você conseguir verificar se esse valor Faz parte dessa lista de valores do dicionário E aí você pode ver aqui ó se existe e pode ver se não existe tá vendo Então se eu rodar o código agora ele vai dizer que existe sim o 9000 ali dentro porque você tá procurando dentro dos valores do dicionário beleza mas eu confesso para vocês que isso daqui essa segunda estrutura Ela é bem mais incomum de você usar bem mais cararo mesmo de você precisar isso daqui você vai usar muito mais e aí até nesse sentido vamos fazer agora um um exercício juntando várias coisas que a gente já aprendeu até agora com o Python então basicamente é o seguinte a gente tem esse dicionário de produtos aqui e o que eu quero que o usuário faça é o seguinte eu vou pedir pro usuário ele tá fazendo um cadastro de produto Então imagina que você criou um sistema para sua empresa e o usuário lá da sua o funcionário que trabalha na sua loja ele tá fazendo um cadastro no produto e aí ele vai ter que cadastrar o nome do produto o nome do produto então o nome do produto ele vai ser um input com o nome do produto nome do produto e ele vai ter que inserir também o preço o preço do produto que vai ser o input com o preço do produto beleza e aí o que a gente quer fazer aqui é o seguinte eu quero Quando ele colocar aqui se ele vai cadastrar no nome do produto eu vou querer fazer duas coisas eu vou querer cadastrar o novo produto só que ele só vai cadastrar o novo produto se o produto não existir caso o produto exista caso o produto exista ele vai editar o produto isso a gente já sabe que isso vai acontecer naturalmente porque a estrutura como o dicionário adiciona Um item ali no produto beleza e aí Além disso Além disso o programa o programa tem que dizer para Tem que atualizar tem que depois no final tem que no final atualizar o preço de todos os produtos presta atenção Ele tem que atualizar o preço de todos os produtos para os Novos Valores que são 10% a mais do que o preço original Como assim então a gente tá criando um programa que ele vai ter que fazer duas coisas pra gente a gente poderia criar esse Na verdade são dois programas tá tá o programa faz isso o outro programa faz isso eu tô fazendo isso tudo dentro da mesma aula para você poder treinar as duas coisas tá então a gente vai primeiro fazer um programa de cadastro do produto e depois um programa que percorre todos os nossos produto aqui e para cada produto aumenta em 10% o preço do produto que é o imagina que tem lá um botão no sistema da sua empresa de realizar reajuste e o reajuste é de tantos por c. Beleza então é isso que a gente vai fazer no nosso caso aqui de 10% Então vamos primeiro Criar e esses dois exercícios com que a gente aprendeu até agora no curso você já é capaz de fazer obviamente é um pouco mais difícil porque a gente não usou ainda muito o dicionário Mas e você tem as ferramentas da sua mão para aprender mas eu vou fazer junto com vocês justamente se você quiser tentar sozinho pode pausar e tentar mas para alguns de vocês realmente vocês vão achar muito difícil porque a gente não exercitou tanto ainda mas se você quiser acompanhar junto comigo é só você acompanhar Então vamos lá para cadastrar um produto ele vai precisar pegar os dois inputs que a gente já colocou aqui e aí a primeira coisa é o nome do produto no nosso dicionário tá tudo em minúsculo então depois do usuário colocar esse input aqui aqui eu vou fazer assim ó nome do produto vai ser o nome do produto pronto lower para garantir que o cara se digitou em letra maiúscula letra minúscula e tal a gente padronizou e a segunda coisa é que o preço do produto isso daqui lembra que vem em formato de texto pra gente porque isso aqui vende um input eu tenho que transformar isso aqui em número então o preço do produto ele tem que ser um float do nosso preço do produto então o novo valor do preço do produto vai ser o antigo valor só que transformado em número porque Quando um usuário preenche um input o input ele sempre vem em formato de texto mesmo que o usuário tenha escrito e mesmo que ele tenha escrito o número ali dentro Beleza então show de bola a gente já conseguiu tratar esses dois casos aqui agora o que que a gente vai ter que fazer eu vou ter que cadastrar o novo produto como que eu cadastro o novo produto meu dicionário produtos pegando o nome do produto não é assim que a gente faz a gente fazia assim ó se eu quisesse cadastrar o iPad dicionário produtos iPad custa tanto 15. 000 beleza mas o preço do produto ele vai vir da variável o preço do produto cont control c cont control v o preço do produto vem da variável preço do produto o nome do produto vem da variável o nome do produto Então não vai vir do iPad vai vir do nome do produto Então tá vendo a chave do produto vai ser dinâmica e o preço também se a gente chegar aqui agora e der um print no meu dicionário produtos olha qual vai ser o resultado rodei nome do produto é airpod Max preço do produto 3500 Olha lá temos aqui o nosso dicionário com airpod iPad iPhone Macbook Apple watch e airpod Max com 3500 Lembrando que o Apple watch Só existe porque a gente deixou essa essa edição aqui no nosso dicionário tá então beleza então ele conseguiu fazer isso numa boa agora se eu tentasse cadastrar o produto aqui e o produto que eu fosse cadastrar fosse o iPhone que custa 10.
000 custa R 10 Olha lá ele editou o iPhone para R 10 Então esse nosso primeiro parte do programa do nosso sisteminha funcionou numa boa agora depois disso O que que eu quero fazer eu quero criar um outro programa Qual é o nosso outro programa nosso exercício dois depois disso eu tenho que pegar o meu dicionário produtos e aumentar em 10% o preço de todos os produtos bom se eu tenho que aumentar em 10% o preço de todos os produtos vamos fazer aquela lógica que eu ensinei para vocês vamos fazer pro primeiro produto e depois a gente adapta para todos os produtos Então vamos fazer assim ó Digamos que o primeiro produto seja o qual é o primeiro produto que tá ali o airpod então o produto é o airpod beleza produto é o airpod então o novo preço do produto airpod vai ser quem o antigo preço Qual é o antigo preço do produto airpod o antigo preço é o Dick produtos pegando o cara do airpod lembra para pegar um elemento do dicionário para pegar o preço de um elemento do dicionário você boto o dicionário e entre colchetes o nome do produto Então vou botar o dicionário produtos e entre colchete o nome do produto tá vendo o nome do produto isso daqui vai ser o preço o nosso preço tá vendo ó print novo preço ainda não editado ó então isso aqui vai ser o preço deixa eu colocar esses todo esse nosso primeiro programa aqui em comentário para ele não ficar rodando o tempo todo pra gente beleza e aí eu vou rodar de novo o código aqui e ele vai ó existe o produto Tá mas o novo preço é 2. 000 então o preço do airpod é 2. 000 como a gente tinha visto aqui 2000 show de bola Beleza agora o novo preço ele era o antigo preço vez mais 10% vez um 1.
1 vezes 1. 1 é a mesma coisa que você somar 10% no preço do produto então agora o novo preço vai ser 2200 perfeito tá pegando numa boa só que agora o que que eu quero fazer eu quero editar isso no meu dicionário original então depois de eu calcular o novo preço eu quero colocar o novo preço no meu preço do produto então vou fazer assim ó peguei meu novo preço então o novo valor do meu Dick produtos Opa do meu dicionário produtos olhando Air o novo valor do airpod vai ser esse novo preço que a gente calculou só que eu não vou colocar airpod manualmente assim eu vou colocar o nome do produto tá vendo aqui porque se aqui o produto não for airpod for outra coisa aqui ele vai mudar também automaticamente então eu vou colocar aqui então o novo preço do produto que a gente tá editando novo preço do airpod vai ser esse novo preço que a gente calculou aqui beleza com isso aqui a gente Edita o nosso dicionário original quer ver tanto que se eu chegar aqui e printar o me prodos você vai ver que agora o airpod vai est custando 22 ao invés do 2000 que era o valor inicial Beleza então resolvemos isso primeiro caso resolvemos isso primeiro caso agora eu quero fazer isso para cada produto e olha que interessante quando no pon você faz um for item in dicionário produtos quando você faz um for num dicionário Quem é a sua variável item quem você acha que é a sua variável item lembra quando você fazia um if Olha lá quando você fazia um if num dicionário ele verificava se esse item daqui era uma chave do dicionário Então quando você percorre os itens de um dicionário for item e dicionário itens quem é a variável item a variável item ela vai ser cada uma das chaves do dicionário Então olha só se eu printar meu item olha o que ele vai fazer airpod iPad iPhone Macbook Apple watch então quando Você percorre um dicionário automaticamente essa variável item daqui ela é uma chave do dicionário ou seja ela é um nome de um produto então eu posso fazer assim para cada produto no meu dicionário produtos o que que eu quero fazer eu quero calcular o novo preço do produto e editar no meu dicionário produto com novo preço tá então vou tirar isso aqui e vou colocar isso aqui dentro do for que foi exatamente o que a gente fez então eu calculo o novo preço e edito o valor desse produto pro novo preço e aí agora o que que a gente pode fazer a gente pode chegar aqui e printar o nosso dicionário produto tá vendo não é muita linha de código é mais a lógica do dicionário aqui feita junto com o for se eu rodar o código agora você vai ver que todos os produtos vão est 10% mais caro ó airpod 2200 iPad 9900 iPhone 8580 que é 10% de 7 7800 né Macbook 12.