Python Language Iterare sulle liste


Esempio

Per scorrere un elenco che puoi utilizzare for :

for x in ['one', 'two', 'three', 'four']:
    print(x)

Questo stamperà gli elementi della lista:

one
two
three
four

La funzione range genera numeri che vengono spesso utilizzati anche in un ciclo for.

for x in range(1, 6):
    print(x)

Il risultato sarà un tipo di sequenza intervallo speciale in python> = 3 e una lista in python <= 2. Entrambi possono essere collegati tramite il ciclo for.

1
2
3
4
5

Se si desidera eseguire il loop di entrambi gli elementi di una lista e avere anche un indice per gli elementi, è possibile utilizzare la funzione di enumerate di Python:

for index, item in enumerate(['one', 'two', 'three', 'four']):
    print(index, '::', item)

enumerate genererà tuple, che vengono decompresse in index (un intero) e item (il valore effettivo dall'elenco). Il ciclo sopra verrà stampato

(0, '::', 'one')
(1, '::', 'two')
(2, '::', 'three')
(3, '::', 'four')

Iterare su un elenco con manipolazione dei valori utilizzando map e lambda , ovvero applica la funzione lambda su ogni elemento nell'elenco:

x = map(lambda e :  e.upper(), ['one', 'two', 'three', 'four'])
print(x)

Produzione:

['ONE', 'TWO', 'THREE', 'FOUR'] # Python 2.x

NB: in Python 3.x la map restituisce un iteratore invece di una lista in modo che nel caso abbiate bisogno di una lista dovete lanciare il risultato print(list(x)) (vedere http://www.Scriptutorial.com/python/ esempio / 8186 / map-- in http://www.Scriptutorial.com/python/topic/809/incompatibilities-moving-from-python-2-to-python-3 ).