Função Enumerate() em Python: um passo a passo básico

Publicados: 2021-06-24

Python é uma das linguagens mais preferidas entre os cientistas de dados. A linguagem é intuitiva e o python possui uma variedade de bibliotecas úteis para lidar com diferentes problemas. Ele possui vários módulos para ajudar os cientistas de dados em vários estágios de qualquer problema de ciência de dados – desde mineração de dados até análise e relatórios.

No upGrad, orientamos profissionais de diversas áreas, incluindo economia, humanidades e engenharia. Python tem sido de longe a linguagem mais fácil de aprender tanto para iniciantes quanto para profissionais em qualquer estágio de sua carreira. Portanto, se você é um aspirante a cientista de dados que deseja dar seus primeiros passos, o Python pode ser um bom ponto de partida!

A linguagem de programação Python tem vários recursos para ajudá-lo a filtrar diferentes conjuntos de dados e manipular contêineres de dados conforme sua necessidade. Um desses recursos é o método enumerate(). É uma das funções mais importantes em Python, especialmente para trabalhar com conjuntos de dados volumosos. Não apenas isso, mas a função também é muito mais otimizada do que outras funções do Python que executam uma tarefa semelhante – ela mantém seu código eficiente e limpo.

A função adiciona um contador a qualquer objeto iterável. Então, usando o contador, você pode acompanhar o número de iterações que ocorreram. O valor deste contador é armazenado separadamente. Usando este método, você pode fazer um loop em uma lista ou dicionário ou tupla ou conjunto de itens enquanto mantém o índice de todos os elementos.

Neste artigo, vamos detalhar ainda mais a função enumerate()!

Sintaxe e Aplicação do Método enumerate()

A função enumerate() cria uma variável de contador separada que acompanha o número de iterações em um loop. É uma função interna do Python, portanto, você não precisa importar nenhuma biblioteca para acessá-la.

Ao usar a função enumerate(), você não precisa se preocupar em criar a instrução range() para obter o comprimento completo do array. Como você tem a variável counter, você pode iterar rapidamente sobre enumerate() sem criar um iterador diferente.

Aqui está a sintaxe do método enumerate():

enumerate(iterável, startIndex)

Tem dois parâmetros:

  • Iterável: qualquer objeto que pode ser repetido.
  • startIndex: Isso é opcional. Se você fornecer qualquer valor aqui, a contagem começará a partir do valor fornecido e será incrementada até o final do loop. Por padrão, o valor startIndex é 0.

Vamos entender o funcionamento do método enumerate() verificando alguns exemplos!

Aqui está um pequeno pedaço de código. Temos um array com o nome de food_items e, no loop for, chamamos o método enumerate() com o iterável sendo food_items (este será o array sobre o qual esta função fará o loop). Então, estamos tentando imprimir o índice e o nome — esses são os dois elementos retornados pelo enumerate()

food_items = [“Pizza”, “Hambúrguer”, “Salada”, “Lasanha”, “Espaguete”]

para índice, nome em enumerate(food_items):

print(índice, nome)

A função enumerate() itera sobre nosso item de matriz de alimentos e retorna índice e nome. O índice é o número de iterações que aconteceram e o nome é o item específico na lista. Aqui está o que o programa produz:

0 Pizza

1 Hambúrguer

2 Saladas

3 lasanhas

4 Espaguete

Como você pode ver, a saída é como você esperava – você obtém um objeto de índices e nomes para os diferentes itens em sua lista food_items. Usar a função enumerate() em vez de len() ou range() torna nosso código extremamente limpo e legível!

Trabalhando com o objeto Enumerate

Por padrão, enumerate() retorna uma lista de tuplas. Podemos ver isso imprimindo o valor de 'item' enquanto iteramos sobre o array food_items:

for item em enumerate(food_items):

imprimir(item)

Esse código retorna o valor do índice e o item alimentar nesse índice em uma estrutura de dados de tupla.

(0, 'Pizza')

(1, 'Hambúrguer')

(2, 'Salada')

(3, 'Lasanha')

(4, 'espaguete')

Se você prestou atenção desde o início deste artigo, lembre-se de que o método enumerate() recebe dois parâmetros – iterable e startIndex. Por padrão, nosso método até agora estava falando – como o startIndex. Vamos tentar mudar isso e ver como funciona!

food_items = [“Pizza”, “Hambúrguer”, “Salada”, “Lasanha”, “Espaguete”]

para índice, nome em enumerate(food_items, 10):

print(índice, nome)

Nosso programa retorna o seguinte

10 pizzas

11 Hambúrguer

12 Saladas

13 Lasanha

14 Espaguete

Isso é útil para casos de uso em que você deseja iniciar sua lista a partir de um número diferente de 0.

Também podemos criar tuplas com o item da lista e o índice usando o método enumerate(). Aqui está um exemplo:

food_items = [“Pizza”, “Hambúrguer”, “Salada”, “Lasanha”, “Espaguete”]

food_items_with_counter = list(enumerate(food_items, 1))

print(food_items_list_with_counter)

O código retornará uma lista de tuplas com os itens alimentares e o valor do índice do método enumerate(). Confira:

[(1, 'Pizza'), (2, 'Hambúrguer'),(3, 'Salada'), (4, 'Lasanha'), (5, 'Espaguete')]

Conclusão

A função enumerate() em Python é uma função robusta e otimizada. É útil se você deseja iterar sobre uma matriz de valores e manipular dados em diferentes locais da matriz.

Agora que você conhece o básico de enumerate(), vá em frente e pratique – crie alguns arrays e tente executar a função enumerate() com entradas diferentes. Afinal, programação é tudo uma questão de prática. É importante acrescentar – programar (e Data Science, particularmente) também é saber as coisas certas, além de praticar descaradamente. Você precisa encontrar uma mistura dos dois – conhecimento e prática.

Se você é um novato neste campo procurando ajuda - upGrad está de costas! Nosso Mestrado em Aprendizado de Máquina e Inteligência Artificial é executado em colaboração com o IIIT-Bangalore e o LJMU. Você recebe suporte individual de especialistas do setor, um forte grupo de colegas de estudantes e suporte de carreira de 360 ​​graus.

Entre em contato conosco hoje mesmo e avance na sua carreira!

Lidere a revolução tecnológica orientada por IA

MESTRADO EM MÁQUINA DE APRENDIZAGEM E INTELIGÊNCIA ARTIFICIAL
Aplique agora