2010-04-22 15 views

risposta

75

Il modo più normale sarebbe slicing:

for item in your_list[:n]: 
    ... 
2

liste Python sono O (1) ad accesso casuale, quindi basta:

for i in xrange(n): 
    print list[i] 
+7

Il bricolage con gli indici è in genere qualcosa che vale la pena sforzarsi di evitare. –

+1

Sì, affettare è meglio; Non ci ho pensato –

19

probabilmente sarei uso itertools.islice (< - Segui il link per la documentazione), che ha il vantaggio di lavorare con qualsiasi iterabile oggetto.

+1

Nota che quando hai una lista, di solito è più semplice usare l'affettatrice (a meno che tu non debba preoccuparti dei problemi di utilizzo della memoria o qualcosa del genere). Se questo non era il * primo * pezzo, ma se era un po 'più tardi, il taglio normale può essere più veloce e più bello. –

+0

Abbastanza giusto. Inoltre, l'affettatura regolare è più concisa, a cui a quanto pare l'OP importa ... –

9

Si può solo tagliare la lista:

>>> l = [1, 2, 3, 4, 5] 
>>> n = 3 
>>> l[:n] 
[1, 2, 3] 

e poi iterare sulla fetta come con qualsiasi iterabile.

+0

Affettare sembra la soluzione ovvia, concisa, chiara. –

Problemi correlati