No programa Python, os programadores freqüentemente usam o loop for para criar um loop em um objeto iterável. O que isto significa essencialmente que não será necessária uma variável de contagem para acessar itens dentro do iterável. Em certos casos, entretanto, os programadores requerem uma variável capaz de mudar em cada iteração de loop. Em vez de criar e aumentar variáveis, pode-se sempre utilizar a função enumerar () para obter um contador, juntamente com um valor simultaneamente.
Iterando usando os laços presentes em Python
Python’s para loop utiliza iteração baseada em coleta, o que significa que Python tende a atribuir um item a variáveis de loop (de iterables) em cada iteração. Aqui está um exemplo.
Os valores neste exemplo são uma lista que contém 3 cordas, que por acaso são os alfabetos a, b e c. No programa Python, listas são consideradas como variantes de objetos iteráveis. A variável loop presente no para loop é o valor. Também vale a pena ter em mente que em cada iteração de loop, o valor tende a ser definido para o próximo item e vem dos valores de comando.
Depois disso, é preciso começar a imprimir o valor na tela. Uma das principais vantagens das iterações baseadas em coleções é que ela se desvia de um erro comumente encontrado em muitas outras linguagens de programação.
Digamos que além do valor, você planeja imprimir o índice do item na tela e em cada iteração. Bem, uma maneira eficaz de abordar esta tarefa seria formar uma variável para armazenar o índice. Uma vez feito isso, você pode seguir adiante, atualizando-o a cada iteração, que se parecerá com algo assim:
No exemplo mencionado acima, o índice é essencialmente um número inteiro que acompanha a sua posição na lista. Em cada iteração de loop, você estará imprimindo o índice longo com valor. A etapa final do laço exigirá que você atualize o número presente no índice (certifique-se de atualizá-lo por um). Você notará um bug sempre que não atualizar o índice para cada iteração. Esta é a aparência que pode ter
No exemplo, você notará que cada índice em cada iteração permanece em 0. Isto porque seu valor não foi atualizado por um código no final do loop. O rastreamento de um bug como este pode ser incrivelmente desafiador, especialmente em loops complicados e mais longos.
Uma maneira eficaz de resolver este problema é combinar range() e len() para criar um índice. A razão pela qual esta tática é frequentemente recomendada porque ajuda a criar índices automaticamente, garantindo que você não tenha que se lembrar quando você tem que fazer a atualização.
Usando enumerar() em Python da maneira correta
Os programadores podem fazer uso de enumerar() dentro de um único laço, assim como fariam com o objeto inicial iterável. Ao invés de colocar o iterável diretamente após o presente para dentro, você estará colocando entre parênteses do comando enumerar(). Além disso, você precisará fazer pequenas alterações na variável do laço. Aqui está um exemplo que mostra como isto vai ficar:
Após digitar enumerar(), você receberá 2 variáveis de loop da função, que consistirá na contagem da iteração atual junto com o valor do item da iteração atual.
Similar a um normal para loop, você pode dar qualquer nome para as variáveis de loop. No exemplo acima, foram utilizadas as palavras valor e contagem. Entretanto, você também poderia nomeá-las v e i, ou qualquer outro nome, desde que seja válido em Python.
Ao utilizar a função enumerar (), você não precisa se lembrar ao acessar o item no iterável. O que torna as coisas ainda melhores é que você não precisa se lembrar sobre o avanço do índice presente no final do laço. Python cuida de quase tudo automaticamente, garantindo que você não tenha que se preocupar em lembrar de detalhes essenciais.
Nota importante
Usando as 2 variáveis de loop, que são valor e contagem, enquanto as separa com um argumento de desembalagem de vírgulas. Esta é uma característica incrivelmente poderosa em Python.
O enumerar() em Python tem um argumento adicional que os programadores podem usar para controlar o valor inicial da contagem. O valor inicial acontece ser zero por padrão. Isto porque as seqüências em Python são indexadas e todas elas começam com 0. Em palavras simples, sempre que você planeja recuperar o elemento inicial de uma lista, certifique-se de escolher o índice 0.
Praticando enumerar() em Python da maneira correta
Os programadores podem usar a função enumerar() sempre que quiserem usar o item e contar dentro de um laço. Vale a pena ter em mente que o uso da função enumerar() essencialmente aumenta a contagem geral em 1 em cada iteração. Dito isto, isto não causará demasiada inflexibilidade. Na verdade, você pode permanecer bastante flexível, pois a contagem é um inteiro Python regular, que você pode utilizar de mais de uma maneira.
O trabalho interno de enumerar() em Python
Para ter uma noção mais clara da maneira como enumerar() realmente funciona, seria melhor implementar a versão que você tem com Python. Haverá dois requisitos críticos em sua versão enumerar(). Aqui estão eles:
– Comece aceitando o valor da contagem inicial e iterável como argumentos
– Enviar um tuple de volta, assegurando que ele tenha o valor atual de contagem junto com o item associado ao iterável
No exemplo acima, my_enumerate usa 2 argumentos, início e seqüência, sendo zero o valor padrão do início. Quanto à definição da função, você tem que usar n como o valor para iniciar enquanto executa um loop on sequence. Para cada elemento presente em seqüência, certifique-se de ceder o controle para o respectivo local. Após esta etapa, envie os valores presentes de elem e n de volta. Finalmente, aumente o comando n para se preparar para a próxima iteração.
Se você quiser enumerar em Python como um programador especialista, conhecer os fundamentos é vital. As informações e exemplos mencionados nesta peça lhe darão um claro senso de direção sobre como enumerar da maneira correta.