fala impressionador nesse vídeo você vai aprender as 10 funções principais de Python que todo programador em Python já deveria saber então se você programa em Python você já deveria usar Essas funções aqui e até algumas delas que você pode estar vendo aqui na tela que parecem super intuitivas que talvez você já esteja acostumado a usar bom eu vou te mostrar algumas coisas nessa aula que provavelmente você não sabe dessas 10 funções e que são importantes pro seu dia a dia de programação em Python vamos [Música] lá bom galera pra gente começar o vídeo o gabarito dessa aula o arquivo com todo o resumo dessas 10 funções tá aqui na descrição É só você clicar e baixar e um minicurso gratuito de automação em Python também aqui na descrição você pode clicar e baixar vamos embora pro conteúdo bom a primeira função é a função print print é uma função que provavelmente foi um dos primeiros códigos que você começou a fazer em byton onde basicamente você consegue printar uma informação exibir na tela uma informação então se eu colocar aqui um produto iPhone quantidade no stoque 200 eu posso exibir o as essas informações e separando elas por meio de vírgula aqui na função print ela vai exibir essas informações separadas por espaço aqui dentro então quando você coloca dois valores no print a funcionalidade padrão dela é separar esses valores com o espaço então o produto espaço o nome do produto tá vendo ou produto iPhone assim que ele faz mas uma coisa que você pode fazer aqui é personalizar esse print e uma das maneiras que você tem de personalizar esse print é passando o parâmetro de separador isso aqui é muito útil Por exemplo quando você quer exibir várias informações vári vos valores sobre por exemplo o mesmo funcionário você não precisa escrever um texto aqui sobre esse produto aqui por exemplo se eu tivesse aqui a quantidade de estoque o preço e várias outras informações sobre ele você não precisaria colocar um texto completo assim você pode mudar o separador e botar por exemplo separador sendo ponto e vírgula E aí quando você rodar esse código aqui ao invés agora dele separar esses valores por meio de espaço ele vai separar esses valores por meio de ponto e vírgula você pode brincar disso aqui de qualquer forma existe um outro parâmetro muito interessante do print que é o parmetro end e o que que é o parâmetro end basicamente é o seguinte repara aqui ó eu já deixei um código aqui preparado pra gente onde eu importo a biblioteca time e eu vou fazer uma contagem regressiva de 5 segundos então for em Range 5 eu simplesmente vou printar 5 4 3 2 1 a cada 1 segundo tá vendo Então ele vai printar o c vai esperar 1 segundo vai printar o qu vai esperar 1 segundo vai printar o três vai esperar um segundo e assim vai o que que acontece quando eu rodar isso daqui olha lá 5 4 3 2 1 e termina beleza só o que acontece essa contagem regressiva ela aconteceu em várias linhas Por que que ela aconteceu em várias linhas porque por padrão o print quando ele termina a execução do print é como se no final dele aqui no final do print ele tivesse aqui um contra barra n ele print asse também um contra barra n ele sempre no final printa um enter porque por padrão o parâmetro end do print é contra barra n Ou seja no final no end ele vai dar um enter para baixo e o próximo print vai aparecer na linha de baixo só justamente PR as coisas que você printar não ficarem uma sobrepondo a outra mas às vezes você quer que uma sobreponha a outra que é exatamente esse caso daqui eu quero fazer essa minha contagem regressiva 5 4 3 2 1 aqui tudo na mesma linha porque imagina que você tivesse fazendo uma contagem de itens que você tá por exemplo percorrendo numa lista e tem 200 itens Pô você vai ficar printando os 200 itens um embaixo do outro não você pode ir printando e visualizando tudo paradinho para você conseguir acompanhar a execução do seu código para isso você vai mudar o parâmetro do end para contra barra R contra barra R é um caracter especial também do Python que ele não significa enter ele significa voltar pro início então ele volta pro início dessa linha então ao invés dele printar embaixo ele vai printar em cima da linha anterior e aí se eu rodar esse código aqui agora olha o que que vai acontecer 5 4 tá vendo ó 3 2 1 acabou tá vendo Então sempre depois do print ao invés de dar um enter ele vai voltar pro início da linha e aí o próximo print vai sobrescrever aqui que estava anterior e aí você consegue fazer um contador aqui dentro do seu terminal por exemplo E aí você pode ir brincando com essas funcionalidades do end aqui e do separador no print para você exibir as informações do seu Terminal da forma que você quiser Beleza então essa foi a nossa primeira função vamos pra segunda nossa segunda função é a função help que que a função help faz é uma função que você pode usar ela ou pode não usar não é obrigatório que você vai usar ela porque você tem outras formas de conseguir a mesma funcionalidade mas basicamente Como o próprio nome já diz ela vai te dar a ajuda sobre uma informação sobre uma função do Python sobre uma funcionalidade do Python então se eu passar por exemplo a função print que a gente usou agora dentro do help ele vai te mostrar aqui no terminal um resumo da função print ele fala olha só a função print ela pode receber quantos argumentos forem ela tem um separador ela tem um argumento de end para você mexer no final dela ele explica o que que é cada um desses dos argumentos dessa função print e diz aqui o que que ela faz e o que que é esse texto todo que aparece aqui essas informações que aparecem aqui isso aqui é o que a gente chama de Doc string de uma função tá repara o seguinte eu vou pressionar o control eu tô usando vest code se você eu pressionar o control no meu teclado e clicar aqui no print ele vai me levar tá vendo ele vai abrir para mim no Python ele vai abrir aqui a construção da função print O que que a função print vai fazer tá vendo e aí ele vai explicar Olha a função print faz isso ela tem o separador ela tem um end tá vendo exatamente aquelas coisas que estavam lá no texto ele vai explicando aqui para mim só que em formato só que com código aparecendo aqui então fica um pouco mais difícil de você visualizar mas foi por isso que eu falei que a função help ela não é obrigatória você sempre pode descobrir por exemplo o que a função print faz as funcionalidades dela pressionando com control no seu teclado E clicando aqui no vest code é assim no seu editor de código pode ser diferente Ou então chegando no Google digitando print Python que vai abrir a documentação e você entra lá na documentação Mas se você quiser um resumo mais direto você pode simplesmente usar a função help mas o que que esse doc string tem a ver Lira tem a ver pelo seguinte Olha só você pode Nas suas próprias funções então Digamos que eu tenha criado uma função calcular imposto essa função ela recebe um faturamento e uma taxa de imposto para calcular ali em cima e ela devolve como resposta o valor do Imposto valor financeiro e o faturamento líquido que nada mais é do que faturamento Total menos o imposto que ele já calculou então repar o seguinte aqui eu criei um DOC string que nada mais é do que um texto um comentário mesmo tá vendo logo abaixo da definição da sua função que explica o que que essa função faz explica Quais são os parâmetros que ela recebe para funcionar explica o que que ela devolve como resposta e o que que essa função faz então se você usar o help nessa função que você mesmo criou então Repara você pode estar com um projeto com 15 arquivos de código diferentes você quer lembrar Putz o que que era esse parâmetro mesmo que eu tinha ali o que que essa função faz mesmo você pode simplesmente usar um help naquela função e aí ele vai exibir para você aqui embaixo olha lá o DOC string que você definiu na sua função o DOC string é esse textinho que você colocou aqui embaixo da função ele vai exibir para você aí você lembra Ah legal o faturamento precisa ser um float que é o faturamento da empresa Que vou calcular o imposto e a taxa ela tem que ser um float também que vai ser a taxa percentual do Imposto por exemplo 0,2 legal então vou vou e uso ela beleza então é para isso que funciona a função help ela é muito útil para você digamos assim acelerar a busca de informações sobre alguma função específica que você tenha beleza vamos agora pra terceira função que é a função Range o que que é a função Range talvez você já tenha visto muito ela quando você faz um loop aquele for e em Range 5 para executar alguma algum código cinco vezes então o Range nada mais faz do que ele criar um intervalo Range em inglês é intervalo tradução E aí você tem a forma padrão de você usar o Range que essencialmente o que que ele vai fazer olha só criei uma variável lista que vai ser um Range de cinco que que ele vai fazer esse Range ele vai ser uma lista que tem o 0 1 2 3 e 4 Beleza então eles tem cinco itens 0 1 2 3 4 tanto que quando eu executo aqui ele fala olha é um Range que tá indo de zero até C como que funciona o Range presta atenção eu vou transformar esse Range aqui numa lista para você visualizar como que ele funciona tá eu passei aqui um Range de cinco então se eu exibir agora essa lista aqui olha lá o Range de zer a 5 ele é o zero o 1 o 2 o TR e o 4 então o que que isso significa significa que o Range como é que ele funciona o start dele é incluído então ele começa no zero e ele não inclui o último item como toda a lista no Python se você tem uma lista de itens no Python você fala assim quero pegar do caracter dois do item dois até o item 4ro ele vai pegar o dois e o três porque o primeiro item é inclusive e o último item da lista é exclusivo então ele nunca inclui o último item assim também é o Range o Range 5 ele é o Range de 0 a 5 então o que que significa ele vai pegar o zero o 1 o 2 o trê e o 4 então ele vai executar cinco vezes mas o zero tá incluído e o cinco não tá incluído beleza só que você pode personalizar isso no Range você pode falar assim olha só range eu quero que você me dê Então vamos colocar ele também no formato de uma lista pra gente visualizar bem eu quero que você me dê então um Range de um a se que que significa isso significa que ele vai me dar os números 1 2 3 4 5 então ao invés dele começar no zero ele vai começar no um só que como eu quero incluir o cinco dentro da jogada eu tenho que falar que ele vai de um a seis porque o primeiro é inclusive e o último é exclusivo exclusivo então eu vou rodar aqui ele vai me dar ó 1 2 3 4 5 Tá vendo só que aí você pode brincar mais ainda com Range por exemplo você pode fazer ainda esses outros dois formatos de Range que eu coloquei aqui um Range de 1 a 10 só que você pode passar um parâmetro chamado de step ou seja caminhando de dois em dois se a gente Exibir a lista desse Range aqui quem vai ser a lista desse Range aqui olha lá quem vai ser vai ser ó 1 3 5 7 9 tá vendo Então ele vai de 1 a 10 sem incluir o 10 mas andando de dois em dois então ele vai fazer um pula dois TR pula dois c pula dois 7 pula dois 9 pula dois acabou Ele passou do 10 já então ele não vai imprimir mais nada e uma outra coisa interessante aqui é que você pode fazer a contagem justamente Ao contrário ao invés de de um para 10 você pode fazer de 10 para 1 indo 10 9 8 7 6 meio que uma contagem regressiva igual a gente tinha aqui em cima então o seguinte se eu chegar aqui ó e exibir para vocês o Range de C até o zero olha lá de cinco até o zero andando de men1 em men1 ele vai fazer 5 4 3 2 1 quer ver rodei aqui 5 4 3 2 1 e aí você pode então usar esse formato do Range aqui naquele mesmo for que a gente tinha aqui de contagem regressiva para fazer uma contagem regressiva mais simples você constrói ela de uma maneira mais simples Olha só for e inem Range de 5 até zero andando de -1 em men-1 printa o i Então tá vendo ao invés de eu precisar fazer uma conta aqui printa 5 - I Por que 5 menos eer porque aqui eu fazia eu queria fazer 5 4 3 2 1 o Range ele começa do zero então vou ter que fazer 5 - 0 vai ser 5 depois 5 - 1 Vai ser 4 depois 5 - 2 Vai ser 3 depois você ter que fazer uma conta para isso Ou então você simplesmente usa o Range de forma mais completa como a gente fez aqui eu quero que você vá de C até zero andando de -1 em men-1 eu quero percorrer essa lista de trás paraa frente digamos assim e pronto você vai ter o seu contador bonitinho nesse formato Olha lá 5 4 3 2 1 acabou beleza e pronto deu certo ele fez a sua Contagem Tá bom então é assim que funciona o Range vamos paraa Nossa quarta função agora a gente começa a avançar um pouquinho talvez a galera muito básica ainda no Python ainda não tenha visto Essas funções mas se você não viu você vai aprender se você já viu você vai consolidar isso na sua cabeça a gente vai pra função Map como que funciona a função map vamos entender aqui com o exemplo que eu construí para vocês Lembrando que esse arquivo você pode fazer o download dele aqui embaixo tá a gente tem aqui uma lista de Salários Digamos que eu queira eu tenho uma função que vai calcular a regra de como aumentar o salário de cada funcionário que é uma regra mais complexa Ela não é uma regra simplesmente Ah eu quero que todo mundo aumente em 10% o salário eu quero que todo mundo aumente em 20% não ah se o salário for a Maxima de 3. 000 eu quero aumentar ele em 8% se o salário for menor do que 3. 000 eu quero aumentar ele em 10% Então você tem uma regra completa Lea de como aumentar o salário para cada situação essencialmente o que que você quer fazer você quer aplicar uma função em cada item de uma lista e a função map faz justamente isso ele pega uma função Então você ele vai pegar uma função que você vai passar para ele a função aumentar salário essa função ela tem que receber um valor como parâmetro E você vai passar para ela uma lista de informações que ele vai executar Por que que essa função tem que receber um valor como parâmetro porque você vai passar para ela aqui uma lista de informações que ele vai executar então ele vai pegar o primeiro item da lista vai dar para pra função como parâmetro e vai executar ela depois o segundo item da lista vai dar para ela como parâmetro e vai executar ela depois o terceiro item da lista vai dar para ela como parâmetro vai executar ela e assim vai assim vai assim vai então essencialmente o que ele vai fazer é que ele vai aplicar essa função em cada um dos itens dessa lista que você passou para ele repara aqui eu tô falando lista mas poderia ser um qualquer e trouble do Python pode ser uma tupla pode ser um dicionário pode ser o que você quiser então simplesmente é isso que a gente tá fazendo só que o map né se você por exemplo botar aqui para ele printar esses novos salários a função map ela retorna para você um objeto map né então se eu simplesmente rodar isso aquii sem esse list aqui sem esse list ele vai retornar pra gente um map Object ou seja um objeto onde ele já aplicou esse map é basicamente isso então ele não dá para você uma lista com os valores bonitinhos se você quiser transformar esse objeto map numa lista com os valores bonitinhos você transforma ela numa lista de Python igual você tinha que fazer com Range Range ele retorna para você um Range aqui se você quiser transformar ele em lista você aplica a função list aqui no map a mesma coisa tá então se eu rodar aqui agora você vai ver olha só antes os salários eram 1000 5000 7850 Agora são 1 5 400 7 560 e 935 tá vendo que é justamente essa regra aqui de aumento de salário agora uma coisa que vocês vão ver muito acontecendo é o pessoal usando o map nesse formato daqui com as lambda functions o que que é isso muitas vezes você quer aplicar uma função onde essa função a única coisa que ela tem que fazer é por exemplo aqui nesse caso daqui Eu Tô analisando se o salário for maior do que 3.
000 faz uma coisa se não ele faz alguma outra coisa mas às vezes o que você quer que essa função faça aqui seja simplesmente tipo assim ah retorna o salário vezes 1. 1 Ou seja a única coisa que essa função tem que fazer é aumentar o salário em 10% para isso você não precisa criar uma função e usar essa função direto aqui você pode usar uma lambda function O que que a lambda faz ele fala o seguinte olha lambda nada mais é do que uma função que não tem nome é uma função sem nome então quando você bota lambda x que que você tá dizendo você tá dizendo o seguinte olha eu tô criando uma função sem nome que recebe um parâmetro x que poderia eu poderia chamar de salário eu poderia botar lambda salário aqui salário vai ser salário vezes 1. 1 então o que que ela tá fazendo ela tá fazendo Olha ela vai receber o salário como parâmetro e vai devolver como resposta salário xz 1.
1 só que Normalmente quando a galera usa a função lambda elas não chamam o parâmetro com esse nome com o nome intuitivo com o nome salário e tudo mais é muito comum você encontrar o pessoal fazendo assim amb x x x 1. 1 o que que é x né nada mais é do que o parâmetro que a função tá recebendo lambda salário ela tá recebendo Um item daqui da lista de Salários então x que é um salário e ela vai retornar esse cara vezes 1. 1 ou seja o salário vezes 1.
1 então isso daqui é a mesma coisa que você aplicar essa função aumentar salário dentro do Map só que é muito comum você encontrar a galera fazendo nesse formato daqui justamente porque você escreve menos linhas de código galera que já tá mais acostumada com python é muito comum você ver isso aqui acontecer Tá mas é basicamente isso que eu tô querendo explicar para vocês Deixa eu voltar a nossa função aumentar salário pros estado anterior então quando você tem regras muito simples do que que você quer fazer na no map é legal você criá-las por meio de um lâmbda porque é mais direto se você já tiver acostumado senão pode criar uma função e aplicar a função se você tem regras mais complexas não é legal você tentar rebuscar esse lâmbda aqui dá para você rebuscar esse lambda mas não é legal você ficar criando uma função muito complexa no lambda porque começa a ficar muito difícil de você ler a linha de código então é melhor você criar uma função separada e aplicar essa função separada aqui no map tá então regras muito simples use o lambda regras que não são muito simples use funções separadas e aplica no map Beleza então essa é a função map e o que vai levar a gente paraa Nossa Quinta função que é a função Filter a função Filter é muito parecida com a função map Olha lá eu tenho uma lista de Salários só que ao invés dela aplicar uma função dentro de uma lista ela filtra uma lista baseada numa função então na função que você vai passar você vai passar uma função para ela e a lista de salários e uma lista de valores o que que ela vai fazer para você você ela vai filtrar essa lista de valores de acordo com essa função então a função que você vai passar pro Filter ela Obrigatoriamente sempre tem que retornar para você como resposta ou verdadeiro ou falso se ela retornar verdadeiro ele vai incluir aquele item na lista se ela retornar falso ele não vai incluir aquele item na lista então por exemplo a função que eu passei aqui para ele é uma função que ela recebe o salário tá vendo amb x lambda salário ela tá recebendo o salário como parâmetro e ela tá verificando se o salário é maior do que 2. 000 essa essa comparação x maior do que 2 1000 ela só vai retornar pra gente ou verdadeiro ou falso Então eu tenho uma função que sempre retorna para mim ou verdadeiro ou falso nas situações em que ela retornar verdadeiro ele vai incluir isso na lista filtrada final nas situações em que ele retornar falso ele não vai incluir isso então todos os salários que forem maiores do que 2. 000 eles vão est incluídos na minha lista de Salários altos todos os valores que não forem maiores do que 2.
000 eles não vão estar incluídos na minha lista de Salários altos se eu rodar isso daqui a minha lista de Salários altos é 5. 000 e 7. 000 tá vendo então a diferença do Filter pro map é que o map ele vai retornar o valor que você quer que seja armazenado na lista final o Filter ele vai retornar para você verdadeiro ou falso que é nada mais é do que a regra de se você quer incluir aquele item na lista final ou não incluir você quer filtrar a lista beleza essa é a nossa quinta função que é a função Filter vamos agora pra nossa sexta função que é a função Sum função de soma aí você vai falar Poli a função de soma tá de brincadeira comigo né pô a função de soma é muito simples Olha só eu boto lá minha lista de custos eu quero somar todos os custos e ele vai printar para mim o custo total que é a soma de todos os custos uau grandes coisas sim grande coisa é realmente isso que faz a função Su mas tem um parâmetro que eu acho que muitos de vocês não conheciam que é um parâmetro start que que é esse parâmetro start imagina que você quer fazer uma soma de todos os custos da sua empresa mas a sua empresa tem um custo fixo de R 1.
000 por mês então independente dos custos variáveis que você vai ter na sua empresa e esses aqui são custos variáveis você tem que partir sempre de 1000 você quer fazer uma soma mas partindo de 1000 começando em 1000 então a função Sam ela tem um parâmetro chamado Start eu quero fazer uma soma mas eu quero que essa soma por padrão ela começa em zero mas eu quero que ela comece em 1000 então você pode passar a função sun com Start em 1000 E aí se eu rodar o código agora ele vai dar 10. 950 tá vendo que é 1000 a mais do que a soma anterior justamente porque ele tem esse parâmetro não é lá a mudança do mundo mas é uma funcionalidade legal da função Sam que provavelmente você não conhecia vamos paraa Nossa função set a função sorted e essa função é realmente muito boa e muito útil o que que essa função faz como o próprio nome já diz ela faz um sort né O que que é um sort uma ordenação em uma lista de Valores em um dicionário uma lista de tuplas enfim em lista de itens tá Então imagina você tem lá a lista de salários e eu quero colocar esses salários em ordem decrescente em ordem crescente por exemplo eles estão em ordem aleatória eu quero botar eles em ordem crescente você vai aplicar a função sorted na lista de salários e você vai ter os seus salários ordenados por padrão ela coloca em ordem crescente 850 1000 5000 7000 se você quiser você pode passar para ela o parâmetro reverse igual a true que ele vai tornar a ordem reversa ou seja decrescente então ele vai me dar agora 7000 5000 1 850 até aí tudo bem bem direto ao ponto bem rápido de aplicar mas a função sorted tem também uma peculiaridade muito legal que é o parâmetro Key o que que é esse parâmetro Key imagina a seguinte situação você tem aqui uma lista de salário de remuneração de funcionários E aí você tem o valor do salário fixo desse funcionário 1000 5000 7600 você tem um valor aqui de adicionais que você paga para esses funcionários 500 400 0 4000 e você tem um valor aqui por exemplo de vale refeição desses desses funcionários 180 200 0 e 150 e eu quero ordenar essa minha lista de Salários mas não por um valor específico eu quero ordenar essa lista de salários de acordo com a soma tal dos meus salários Ou seja eu quero que ela fique ordenada do maior pro menor do maior salário pro menor salário mas o maior salário é o salário em que a soma de todos os valores que eu pago para esse Funcionário é maior então eu quero ordenar essa lista aqui de acordo com a soma de cada item puts aí você não tá querendo fazer uma ordenação normal sim eu vou aplicar um sorted dentro da minha lista de salários de forma decrescente v quero do maior para menor mas a regra que eu quero usar para ordenar não é a regra padrão se se você não passa nada aqui nesse parâmetro I se você simplesmente não passa esse parâmetro I Qual é a regra que ele vai aplicar ali ele vai pegar o primeiro item de cada da lista aqui o primeiro item de cada um E vai usar ele como parâmetro 7000 5000 1600 tá vendo ele vai pegar o primeiro item de cada tupla e vai usar ele como referência para fazer essa ordenação é a forma padrão com que o sort ele funciona se você quiser adaptar isso tem que passar o parâmetro ke o que que é o parâmetro Key no Key Você vai passar uma função igual a gente passava lá no map lá no Filter uma função que vai receber cada item da sua lista como parâmetro então ele tá recebendo a tupla inteira como parâmetro e tá retornando para mim qual é a regra Qual é o número que eu tenho que usar como referência então por exemplo se eu quisesse usar o segundo item aqui como referência esse segundo item é o segundo item da tupla é o item de índice um da tupla esse aqui é o item de índice zero Esse é o item de índice um esse aqui o item de índice dois se eu quisesse que ele ordenasse de acordo com o segundo item de cada tupla eu ia pegar amb x x é um item né Um item da nossa lista que é um uma tupla dessa inteira Um item desse inteiro e eu quero que ele ordene eles de acordo com o item de índice um tá vendo com o item de índice um que é esse cara daqui que é o segundo item da tupla Olha lá se eu rodar agora Ele ordenou de acordo com o segundo item da tupla 4540 tá vendo ou então você pode pedir para ele ordenar de acordo com a soma de todos os itens da tupla soma de x e aí se eu rodar agora olha lá vai vir o cara de 7. 000 que o total aqui é 7.
000 esse cara aqui o total Total dele é 5240 depois esse cara aqui o total dele é 4750 e depois esse cara aqui o total dele é 16680 tá vendo Então ele tá ordenando de acordo com a soma de todos os itens Então esse parâmetro I aqui é muito poderoso para você conseguir ordenar listas no Python de forma inteligente sem você precisar ficar criando listas auxiliares Loops auxiliares nem nada do tipo você usa o sset com parâmetro q adaptado pra sua situação beleza essa aqui foi a nossa sétima função vamos agora pra nossa oitava função a função enumerate que eu uso bastante vocês já devem ter visto muito aqui no canal que que é a função enumerate basicamente ela permite você percorrer uma lista de valores pegando um índice de cada item da lista de valores Como assim Lira vamos lá imagina que você tem uma lista de Salários Eu tenho quatro salários aqui e os quatro funcionários que são desses salários então o Lira recebe 1000 o Alon 5. 000 a Amanda 7. 000 e o Marcos 850 Beleza se eu quiser percorrer essa minha de Salários para printar por exemplo todos os salários eu posso fazer um for normal eu posso fazer um for simplesmente assim ó for salário Vamos Construir esse for junto aqui eu posso fazer assim ó for salário em salários print salário e eu vou conseguir ver todos os salários aqui dentro Beleza se eu rodar isso aqui ele vai funcionar ele vai me dar todos os salários mas se eu quiser que ele me mostre aqui salário do Lira é tanto salário do Alon é tanto salário da Amanda é tanto salário do Marcos é tanto o que que acontece nesse caso eu tenho que conseguir pegar também na lista de funcionários quem é o funcionário um quem é o funcionário dois quem é o funcionário três ou seja Quando eu pegar o primeiro salário eu quero pegar o primeiro funcionário quando eu pegar o segundo salário eu quero pegar o segundo funcionário quando eu pegar o terceiro salário quero pegar o terceiro funcionário Ou seja eu quero conseguir pegar o item né a posição do cara da lista que eu tô percorrendo então além de pegar o valor do salário eu quero pegar a posição desse cara na lista para eu poder chegar na minha lista de funcionários e fazer mesma coisa então para isso a gente usa o enumerate olha lá for I que é a posição salário inem enumerate salários e aí esse índice I vai ser a posição desse cara na lista então se eu quiser pegar por exemplo quem é o funcionário de algum item você vai pegar o funcionário de índice I porque quando ele for rodar a primeira vez salário vai ser 1000 e o i vai ser zero então o funcionário de índice zero é o primeiro funcionário que é o Lira então 1000 é o salário do Lira quando ele for rodar a próxima vez o i vai ser o índice um então o salário vai ser 5.
000 e o índice um aqui na lista de funcionários vai ser o Alon que o Alon vai ter um salário de 5. 000 então o enumerate permite você pegar a posição de um cara na lista e o valor dele ao mesmo tempo fazendo um for E aí isso vai permitir a gente colocar aqui ó novo salário do Lira é 1. 00 novo salário do Alon é 5500 novo salário da Amanda é 7700 novo salário do Marcos é 935 tá vendo essa aqui é a nossa função numerate sempre que você precisar pegar um item de uma lista junto com com o valor dela o índice de Um item junto com o valor daquele item Então você vai usar a função enumerate e a gente vai agora pra função nove que é a função Zip O que que a função Zip faz a função Zip olha só a gente consegue resolver esse mesmo desafio que a gente tinha aqui olha lá eu tinha os meus salários e funcionários eu quero pegar o funcionário e o salário mas tudo junto sem precisar pegar o índice do funcionário usando a função Zip O que que a função zimp faz ela pega duas listas de valores e cola uma na outra essencialmente o que o zip faz é que ele transforma essas duas listas aqui em uma única lista em que cada item da lista é uma tupla com um valor com os dois valores então por exemplo quando eu boto Zip funcionário e salários vamos ver quem é isso daqui ó print Zip funcionários e salários só para vocês visualizarem quem é esse Zip ele é um objeto tá vendo um zip Object igual eu tinha lá no map mas se eu botar isso aqui dentro de uma lista p você vai conseguir visualizar certinho quem é cada um dos valores Olha só quem é ele vai basicamente associar o primeiro item com primeiro item o segundo item com o segundo item o terceiro item com o terceiro item e o quarto item com o quarto item olha só ele criou uma lista com tuplas Lira 1000 Lira 1000 Alon 5000 Alon 5000 tá vendo ele associou Um item de cada vez e aí como ele faz isso você pode percorrer num for agora pegando os dois valores ao mesmo tempo sem você precisar do índice você pode fazer ó para cada funcionário salário no Zip de funcionários e salários Lembrando que a ordem aqui tem que ser igual se você passou pro Zip primeiro funcionários e depois salários a variável que você tá usando é primeiro funcionário e depois salário Beleza se você invertesse Essa ordem aqui no Zip você vai ter que inverter Essa ordem aqui nas variáveis também e você consegue esse mesmo resultado que a gente fez aqui em cima sem precisar pegar o funcionário na lista de funcionários de acordo com a posição dele e tudo mais simplesmente porque o zip permite você juntar essas duas coisas e o zip permite ainda uma outra coisa que é o seguinte quando você tá juntando só duas informações o zip permite você transformar essas duas informações num dicionário então ao invés de eu ter uma lista de salários e uma lista de funcionários Você pode passar elas para um zip e passar elas pra função dict que você transforma elas num dicionário Python olha lá o salário do Lira é 1000 salário do Alon é 5000 salário da Amanda é 7.
000 salário do Marcos é 850 E aí um dicionário quando você tem essas duas coisas juntas é muito mais fácil de você trabalhar no longo prazo porque agora sim você tem as informações de Lira e do salário dele associadas de Alon e do salário dele associada já sempre no dicionário porque um vai ser a chave do dicionário o primeiro valor que você passa aqui vai ser a chave do dicionário e o segundo valor que você passa aqui vai ser os valores do dicionário beleza essa é a nossa função Zip vamos pra nossa décima e última função que é a função Open que que a função Open faz como próprio nome já diz ela serve para abrir arquivos Tá e por padrão Você pode passar ela assim ó Open E você vai passar para ela duas informações para ela funcionar vou tirar esse encoding aqui depois a a gente fala sobre ele primeiro você vai passar Qual é o arquivo que você quer abrir então você pode passar um arquivo que já existe se você quiser ler esse arquivo ou um arquivo que ainda não existe se você quiser criar esse arquivo e depois você vai passar o modo de leitura desse arquivo você tá abrindo ele em modo de leitura e aí seria aqui R se você quer só ler informações desse arquivo ou então em modo de escrita w que vai ser WR você quer criar esse arquivo beleza existe um outro modo também que eu já já vou falar para vocês então isso aqui ele tá abrindo o arquivo pra gente e aí eu vou escrever coisas dentro desse arquivo por exemplo eu vou escrever o o novo salário de cada funcionário eu vou botar Olha lá para cada funcionário dentro da minha lista de de Salários aqui de funcionários o zip esse mesmo for que a gente fez aqui em cima eu vou então escrever no meu arquivo arquivo. o novo salário do funcionário e depois eu vou fechar esse arquivo aqui arquivo.