Obtendo elementos e seus índices em Python
De um objeto iterável, você pode extrair não
apenas os elementos, mas também seus índices. Para isso,
usa-se a função enumerate. Em
seu parâmetro, especificamos o objeto iterável
desejado.
Exemplo
Suponha que temos uma lista lst:
lst = ['a', 'b', 'c']
Vamos extrair dela os elementos com seus
índices. Vamos denotar o par elemento-índice
como uma variável item, a qual
será procurada no objeto passado para a função enumerate:
for item in enumerate(lst):
print(item)
Após a execução do código, serão exibidas tuplas contendo o índice e o elemento:
(0, 'a')
(1, 'b')
(2, 'c')
Exemplo
Para obter separadamente os elementos
e seus índices, você pode desempacotá-los usando
duas variáveis key e value:
for item in enumerate(lst):
key, value = item
print(key)
print(value)
print()
Resultado da execução do código:
0, 'a'
1, 'b'
2, 'c'
De forma abreviada, os índices e elementos
podem ser reescritos diretamente no bloco for:
for key, value in enumerate(lst):
print(key)
print(value)
print()
Problemas Práticos
Dada a lista:
tst = [8, 6, -4, 2, -1]
Exiba no console os valores dos elementos e seus índices até o primeiro número negativo.
Dada a lista:
tst = ['a', 'b', 'c', 'd', 'e']
Exiba no console os valores dos elementos e seus índices:
'a1'
'b2'
'c3'
'd4'
'e5'
Dada a lista:
tst = [1, 2, 3, 4, 5]
Eleve ao quadrado os elementos em posições pares e ao cubo os em posições ímpares.