A função enumerate em Python – numerar elementos em uma sequência
7 Exemplos da função enumerate em Python
A função enumerate é uma ferramenta útil em Python que permite associar um índice a cada elemento de uma sequência (como uma lista, tupla ou string) durante uma iteração. Isso torna mais fácil acessar tanto o elemento em si quanto sua posição na sequência.
Neste tutorial, vou mostrar como funciona a função enumerate, sua sintaxe e as vantagens e desvantagens de seu uso.
Para Que Serve a Função enumerate?
A função enumerate é usada para numerar elementos em uma sequência enquanto iteramos sobre eles. Ela cria pares de índices e valores a partir dos elementos da sequência, permitindo que sejam acessados tanto o elemento quanto sua posição. Ou seja, basicamente a função adiciona um contador sobre um objeto iterável.
Essa funcionalidade é útil em situações onde necessitamos saber a posição de um elemento em uma sequência.
Sintaxe da Função enumerate
A sintaxe básica da função enumerate() é a seguinte:
enumerate(iterável, start=0)
onde:
- iterável: O objeto que você deseja enumerar (por exemplo, uma lista, tupla, iterador, etc.).
- start (opcional): O valor inicial do índice (posição a partir de onde começa a contagem). Por padrão, o valor inicial é 0
A função retorna um objeto enumerado que é um iterador contendo pares chave (índice) e valor.
Vantagens do Uso da Função enumerate
Existem algumas vantagens de se usar a função enumerate para trabalhar com conjuntos iteráveis, como por exemplo:
- Acesso aos Índices: A função enumerate facilita o acesso aos índices dos elementos em uma sequência, o que é útil em muitas situações de programação, como por exemplo contar o número de iterações completadas ao trabalhar com iteradores.
- Sintaxe Concisa: Ela fornece uma maneira concisa de enumerar elementos, evitando a necessidade de rastrear manualmente os índices em sequências.
Desvantagens do Uso da Função enumerate
Porém, a função enumerate também possui algumas desvantagens, que devem ser consideradas ao escolher as técnicas de programação a serem empregadas no desenvolvimento. Entre elas posso citar:
- Uso de memória: A função enumerate cria um objeto enumerado que armazena pares de índice e valor na memória, o que pode consumir um pouco mais de memória do que a iteração tradicional.
- Índices baseados em 0: Os índices gerados pela função enumerate são baseados em 0 por padrão, o que pode ser contra intuitivo em algumas situações.
- Nem sempre é necessária: Se não precisarmos acessar os índices e necessitarmos simplesmente iterar sobre os elementos, a função enumerate é desnecessária. Use iteração comum.
Sendo assim, a função enumerate é uma ferramenta útil para rastrear índices enquanto iteramos sobre uma sequência. No entanto, deve ser usada com moderação, especialmente se a economia de memória for uma preocupação e não for necessário usar os índices.
Em muitos casos, a iteração tradicional é mais do que suficiente.
Dito isto, vejamos alguns exemplos de como usar a função enumerate em Python.
Exemplos de enumerate em Python
Exemplo 1: Iterar Sobre uma lista de itens com enumerate
frutas = ["maçã", "banana", "laranja", "uva", "caju", "figo", "abacaxi", "framboesa"] for indice, fruta in enumerate(frutas): print(f"Índice {indice}: {fruta}")
Neste exemplo, estamos iterando sobre uma lista de frutas e usando enumerate para associar um índice a cada fruta. O resultado será:
Índice 0: maçã Índice 1: banana Índice 2: laranja Índice 3: uva Índice 4: caju Índice 5: figo Índice 6: abacaxi Índice 7: framboesa
Exemplo 2: Enumerar Linhas em um Arquivo de Texto
Suponha que tenhamos um arquivo de texto chamado “arquivo.txt” contendo várias linhas de texto com o seguinte conteúdo:
“É mais fácil pedir perdão do que permissão.”
Grace HopperEssa frase é muitas vezes usada para destacar a importância da inovação e da ação decisiva no campo da tecnologia e da programação.
Grace Hopper, uma pioneira da computação, foi conhecida por sua abordagem ousada e sua disposição para desafiar o status quo, o que a tornou uma figura notável na história da informática.
Podemos empregar a função enumerate para numerar as linhas enquanto o arquivo é lido:
with open("arquivo.txt", "r") as arquivo: for numero_linha, linha in enumerate(arquivo, 1): print(f"Linha {numero_linha}: {linha.strip()}")
Neste exemplo, o script efetua a leitura do arquivo linha por linha e usa enumerate para numerar as linhas, começando em 1. O método .strip() é usado para remover espaços em branco e quebras de linha no final de cada linha.
Resultado:
Linha 1: "É mais fácil pedir perdão do que permissão." Linha 2: Grace Hopper Linha 3: Linha 4: Essa frase é muitas vezes usada para destacar a importância da inovação e da ação decisiva no campo da tecnologia e da programação. Linha 5: Linha 6: Grace Hopper, uma pioneira da computação, foi conhecida por sua abordagem ousada e sua disposição para desafiar o status quo, o que a tornou uma figura notável na história da informática.
Exemplo 3: Enumerar Elementos em uma Matriz
Vamos criar uma matriz bidimensional (uma lista de listas) e usar enumerate para enumerar os elementos em cada linha.
matriz = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] for indice_linha, linha in enumerate(matriz): for indice_coluna, elemento in enumerate(linha): print(f"Elemento na linha {indice_linha}, coluna {indice_coluna}: {elemento}")
Resultado:
Elemento na linha 0, coluna 0: 1 Elemento na linha 0, coluna 1: 2 Elemento na linha 0, coluna 2: 3 Elemento na linha 1, coluna 0: 4 Elemento na linha 1, coluna 1: 5 Elemento na linha 1, coluna 2: 6 Elemento na linha 2, coluna 0: 7 Elemento na linha 2, coluna 1: 8 Elemento na linha 2, coluna 2: 9
Exemplo 4: Encontrar a Posição de um Elemento em uma Lista
Vamos criar uma lista de números e um elemento-alvo, informado pelo usuário. Usaremos então a função enumerate para encontrar a posição (índice) do elemento-alvo na lista.
numeros = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110] alvo = int(input("Qual valor múltiplo de 10 deseja pesquisar?")) for indice, numero in enumerate(numeros): if numero == alvo: print(f"O elemento {alvo} está na posição {indice}.")
Resultado:
Qual valor múltiplo de 10 deseja pesquisar? 40 O elemento 40 está na posição 3.
Exemplo 5: Iteração sobre os itens de uma tupla, ajustando o valor de inicio dos índices
linguagens = ("cobol", "c++", "python", "fortran", "kotlin", "javascript", "ruby", "lisp") for indice, linguagem in enumerate(linguagens, start=10): print(f"Índice {indice}: {linguagem}")
Aqui, iteramos sobre uma lista com nomes de linguagens de programação e usamos enumerate com o parâmetro start para associar um índice, iniciando em 10, a cada linguagem.
Resultado:
Índice 10: cobol Índice 11: c++ Índice 12: python Índice 13: fortran Índice 14: kotlin Índice 15: javascript Índice 16: ruby Índice 17: lisp
Exemplo 6: Iterar sobre um objeto do tipo enumerate com laço for
# Lista de entrada lista_cidades = ["Amsterdam", "Ushuaia", "São Paulo", "Manchester", "Osaka"] # Criar objeto enumerate obj_enumerate = enumerate(lista_cidades) # Usar laço for para iterar sobre cada item no objeto enumerate for item in obj_enumerate: # Imprimir o item correspondente a cada iteração print(item)
Agora, a iteração é realizada em um objeto do tipo enumerate criado previamente na aplicação a partir de elementos presentes em uma lista – no caso, nomes de cidades.
Resultado:
(0, 'Amsterdam') (1, 'Ushuaia') (2, 'São Paulo') (3, 'Manchester') (4, 'Osaka')
Exemplo 7 – Usar a função enumerate() em uma string
Neste exemplo é fornecida uma frase, e usando a função enumerate determinamos o número de índice de cada caractere digitado.
# String de entrada string_entrada = 'Hoje é sexta-feira!' # Gerar um objeto enumerate a partir da string obj_enumerate = enumerate(string_entrada) # Converter o objeto enumerate em uma lista e mostrar seu conteúdo, um caractere por linha print(list(obj_enumerate))
Resultado:
[(0, 'H'), (1, 'o'), (2, 'j'), (3, 'e'), (4, ' '), (5, 'é'), (6, ' '), (7, 's'), (8, 'e'), (9, 'x'), (10, 't'), (11, 'a'), (12, '-'), (13, 'f'), (14, 'e'), (15, 'i'), (16, 'r'), (17, 'a'), (18, '!')]
Conclusão
Neste tutorial, mostrei os fundamentos, vantagens, desvantagens e as aplicações práticas da função enumerate em Python, uma ferramenta muito útil para iteração eficiente sobre sequências de valores. A capacidade de associar índices a elementos durante um loop não apenas simplifica o código, mas também amplia as possibilidades de manipulação de dados e criação de estruturas mais legíveis.
A função enumerate se destaca como uma solução elegante para situações em que a indexação de elementos é crucial. Seja na criação de compreensões de lista mais concisas, na implementação de lógicas de condição baseadas em índices ou no rastreamento simultâneo de múltiplas variáveis, a versatilidade desta função oferece um valioso incremento à caixa de ferramentas de qualquer programador Python.
Portanto, ao explorar o funcionamento dessa função, podemos podem otimizar o fluxo de trabalho, tornando os códigos mais compreensíveis e, em última análise, elevar o nível de eficiência e clareza nos projetos Python.
A função enumerate representa um recurso indispensável para aqueles que buscam aprimorar suas habilidades de programação e aprofundar seu entendimento da linguagem Python.
Colabore com a Bóson Treinamentos
Ajude o canal adquirindo meus cursos na Udemy:
- Bancos de Dados com MySQL Básico: https://bit.ly/35QdWE4
- Lógica de Programação com Português Estruturado: https://bit.ly/3QKPn22
- Programação em Python do Zero: https://bit.ly/python-boson
Adquira também livros e outros itens na loja da Bóson Treinamentos na Amazon e ajude o canal a se manter e crescer: https://www.amazon.com.br/shop/bosontreinamentos
Escreva um comentário