Python usa la
slice notation, che permette di accedere agli elementi di liste/array.
Codice:
a[start:stop] # elementi da start a stop-1
a[start:] # tutti glie lementi da start in poi
a[:stop] # tutti gli elementi fino a stop-1
a[:] # tutti gli elementi
di fatto generalizzando il concetto di indice (a[0] ti ritorna il primo elemento)
Puoi pero' anche usaer strutture piu' complesso andando all'indeitro se caso:
Codice:
a[-1] # ultimo elemento
a[-2:] # ultimi due elementi
a[:-2] # tutto tranne gli ultimi due elementi
In questo modo non devi sapere la lunghezza della lista se sai ceh devi giusto segare l'ultimo elemento, per esempio.
Poi c'e' la versione super generalizzata:
a[start:stop:step]
dove vai da start a stop-1 a step, che di fatto e'
esattamente il loop di c, praticamente, solo che python fa tutto da solo.
Codice:
a= [1,2,3,4,5]
print(a[0:5:2])
print(a[::2])
Il risultato e' [1,3,5] in entrambi i casi (con il vantaggio che non devi sapere prima quanto e' lunga la lista!)
Nulla ti vieta di andare al contrario, quindi se usi la notazione a[::-1] ti ritorna tutta la lista, ma rinculando. Nel caso sopra avresti [5,4,3,2,1].