Tutoriais

Como Acessar Índices em um Loop for em Python

Ana Maria Gomes 22 fev Básico 5xp
Compartilhar

Ao trabalhar com Python, você pode se encontrar na necessidade de acessar o índice dos itens enquanto itera sobre uma sequência. Essa é uma tarefa comum, e o Python oferece uma maneira limpa e eficiente de lidar com isso usando a função enumerate(). Vamos ver como você pode usar essa função para acessar valores de índice em um loop for.

Use a Função Enumerate

A função enumerate() é uma função embutida que adiciona um contador a um iterável e o retorna na forma de um objeto enumerate. Esse objeto pode então ser usado diretamente em loops for para obter tanto o índice quanto o item.

Veja como você pode usar enumerate():

itens = ['maçã', 'banana', 'cereja']
for indice, item in enumerate(itens):
    print(indice, item)
Testar

Isso produzirá a saída:

0 maçã
1 banana
2 cereja

Note que o índice começa em 0 porque a indexação no Python começa do zero. No entanto, se você quiser começar o índice em 1 ou qualquer outro número, você pode fazer isso definindo o parâmetro start na função enumerate().

Iniciando o Índice em 1

Para começar o índice em 1, basta passar start=1 para a função enumerate():

itens = ['maçã', 'banana', 'cereja']
for indice, item in enumerate(itens, start=1):
    print(indice, item)
Testar

Isso produzirá a saída:

1 maçã
2 banana
3 cereja

Por Que Não Gerenciar Índices Manualmente

É importante notar que, embora você possa gerenciar índices em Python manualmente usando uma variável ou usando range(len(itens)), isso é considerado não idiomático em Python. Tais abordagens não são apenas menos legíveis, mas também menos eficientes em comparação com o uso de enumerate().

Por exemplo, evite fazer isso:

itens = ['maçã', 'banana', 'cereja']
indice = 0
for item in itens:
    print(indice, item)
    indice += 1
Testar

Ou isso:

itens = ['maçã', 'banana', 'cereja']
for indice in range(len(itens)):
    print(indice, itens[indice])
Testar

Em vez disso, fique com o modo Pythonico usando enumerate().

Obtendo uma Contagem de Iterações

Às vezes, você pode não precisar do índice durante a iteração, mas precisa saber quantos itens você iterou. Nesse caso, você ainda pode usar enumerate() e começar a contagem em 1:

itens = ['maçã', 'banana', 'cereja']
contagem = 0
for contagem, item in enumerate(itens, start=1):
    print(item)

print('Foram impressos {0} itens'.format(contagem))
Testar

Isso lhe dará a contagem total de itens após o loop ter terminado.

Resumo

Em resumo, quando você precisa acessar o índice de itens em um loop ‘for’ no Python, a função enumerate() é sua aliada. É uma maneira limpa, legível e eficiente de iterar sobre sequências com acesso ao valor do índice. Lembre-se de que os índices no Python começam do zero, mas você pode facilmente ajustar o índice inicial com o parâmetro start em enumerate(). Ao usar enumerate(), você escreve código que está alinhado com a filosofia de design do Python, tornando-o mais fácil de manter e Pythonico.

Cursos gratuitos para continuar aprendendo

Curso
Grátis · 2h 13min

Python para iniciantes: do zero ao primeiro projeto

Aprenda sobre variáveis, loops e funções e crie seu primeiro projeto Python em apenas 2 horas!

Curso
Grátis · 3h 47min

Python para dados: do zero à análise completa

Saia do zero e analise dados com Python e Pandas neste curso gratuito com certificado!

Curso
Grátis · 4h 11min

Python para IA: do zero ao primeiro chatbot

Aprenda a programar com Python e explore a inteligência artificial! Crie um chatbot prático que interage com seus próprios dados. Comece agora!

Ver todos os cursos

0 comentários

Exclusivo PRO
Faça parte da discussão

Comente e participe da conversa

Crie sua conta gratuita e compartilhe sua opinião nos comentários.

Entre para a Asimov