Ottenere elementi e i loro indici in Python

Dall'oggetto iterabile è possibile estrarre non solo gli elementi, ma anche i loro indici. A questo scopo si utilizza la funzione enumerate. Nel suo parametro specifichiamo l'oggetto iterabile desiderato.

Esempio

Supponiamo di avere una lista lst:

pythonlst = ['a', 'b', 'c']

Stampiamo da essa gli elementi con i loro indici. Indichiamo la coppia elemento-indice come una variabile item, che cerceremo nell'oggetto passato alla funzione enumerate:

pythonfor item in enumerate(lst):
  print(item)

Dopo l'esecuzione del codice verranno stampate delle tuple contenenti l'indice e l'elemento:

python(0, 'a')
(1, 'b')
(2, 'c')

Esempio

Per ottenere separatamente gli elementi e i loro indici, è possibile decomprimerli utilizzando due variabili key e value:

pythonfor item in enumerate(lst):
  key, value = item
  print(key)
  print(value)
  print()

Risultato dell'esecuzione del codice:

python0, 'a'

1, 'b'

2, 'c'

In forma abbreviata, gli indici e gli elementi possono essere scritti direttamente nel blocco for:

pythonfor key, value in enumerate(lst):
  print(key)
  print(value)
  print()

Compiti pratici

Задание 1

Data la lista:

pythontst = [8, 6, -4, 2, -1]

Stampate in console i valori degli elementi e i loro indici fino al primo numero negativo.

Задание 2

Data la lista:

pythontst = ['a', 'b', 'c', 'd', 'e']

Stampate in console i valori degli elementi e i loro indici:

python'a1'
'b2'
'c3'
'd4'
'e5'
Задание 3

Data la lista:

pythontst = [1, 2, 3, 4, 5]

Elevate al quadrato gli elementi in posizione pari e al cubo quelli in posizione dispari.