Como usar Enumerate em Python (loop com índices)
Aprenda como usar a função enumerate() em Python. Obtenha índice e valor ao percorrer listas com exemplos limpos.
Visão geral
Ao iterar sobre uma lista, tupla ou string, muitas vezes você precisará rastrear o índice atual de cada item junto com o próprio item. Um padrão comum para iniciantes é usar uma variável de contador separada que é incrementada manualmente ou usar `range(len(my_list))` para iterar por meio de índices. No entanto, Python fornece uma solução muito mais elegante, python e integrada: a função `enumerate()`.
A função `enumerate()` pega qualquer iterável como argumento e retorna um objeto enumerado, que produz pares de tuplas de índice-valor. Usando a descompactação de tupla em um loop `for`, você pode extrair o índice e o item simultaneamente. Isso elimina completamente a necessidade de variáveis de contador manuais e colchetes de indexação, tornando seu código significativamente mais limpo e menos sujeito a erros off-by-one.
Por padrão, `enumerate()` inicia a contagem de índices a partir de `0`. No entanto, você pode passar um índice inicial personalizado usando o argumento opcional da palavra-chave `start` (por exemplo, `enumerate(items, start=1)`). Isso é extremamente útil ao exibir números de listas para usuários humanos, já que as pessoas normalmente esperam que as listas comecem a contar a partir de 1 em vez de 0.
Saída de código e execução
Este script demonstra a iteração em listas usando enumerate para obter pares de itens de índice, começando em 0 e 1.
fruits = ["apple", "banana", "cherry"]
# 1. Standard enumeration (starts at 0)
print("--- Standard Enumeration ---")
for index, fruit in enumerate(fruits):
print(f"Index {index}: {fruit}")
# 2. Enumeration starting at a custom index (e.g., 1)
print("\n--- Starting at 1 ---")
for num, fruit in enumerate(fruits, start=1):
print(f"Item #{num}: {fruit}")--- Standard Enumeration ---
Index 0: apple
Index 1: banana
Index 2: cherry
--- Starting at 1 ---
Item #1: apple
Item #2: banana
Item #3: cherryImplementação passo a passo
- Passe sua lista (ou qualquer iterável) para a função enumerate() integrada.
- Descompacte as tuplas retornadas em um loop for usando a sintaxe para índice, valor em enumerar(lista).
- Forneça o parâmetro inicial (por exemplo, start=1) para modificar o valor inicial do contador de índice.
Perguntas frequentes
Enumerate() modifica a lista original?
Não, enumerate() retorna um objeto iterador lento e deixa a lista original totalmente inalterada.
Posso usar enumerate() com um dicionário?
Sim, mas iterar diretamente em um dicionário produzirá suas chaves. Para iterar o valor-chave do índice, use: for i, (k, v) in enumerate(my_dict.items()):.
Tópicos Relacionados
Aprenda como fazer loop ou iterar em um dicionário Python. Descubra métodos para fazer loop em chaves, valores e pares de valores-chave com exemplos limpos e executáveis.
Como encontrar o comprimento de uma lista em PythonAprenda como encontrar o comprimento de uma lista em Python usando a função len(). Entenda a complexidade do tempo O(1) e as contagens de verificação.
Recursos Python recomendados
Expanda seu conhecimento com tutoriais interativos relacionados, folhas de dicas e comparações de código.
Loops Python
Aprenda como usar loops Python para iterar dados. Domine as práticas recomendadas para loops for, while loops, break, continue e loop com exemplos interativos.
Folha de dicas dos métodos de string Python
Um guia de referência completo para manipulação de strings em Python. Domine a formatação, pesquisa, divisão, substituição e verificação de propriedades de string.
Python vs JavaScript: qual linguagem de programação é a melhor?
Uma comparação abrangente entre Python e JavaScript. Explore diferenças de sintaxe, desempenho, casos de uso (backend versus frontend) e exemplos de codificação.