2010-04-22 21 views

Respuesta

75

La manera normal sería slicing:

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

listas de Python son O (1) de acceso aleatorio, por lo que sólo:

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

Hacer tintinear con índices suele ser algo que vale la pena esforzarse por evitar. –

+1

Sí, rebanar es mejor; No lo pensé –

19

probablemente usarían itertools.islice (< - Siga el enlace para la documentación), que tiene la ventaja de trabajar con cualquier iterable objeto.

+1

Tenga en cuenta que cuando tiene una lista, por lo general es más simple usar slicing (a menos que tenga que preocuparse por problemas de uso de memoria o algo así). Si este no era el * primer * trozo, pero si se trataba de un fragmento posterior, el corte normal puede ser más rápido y más atractivo. –

+0

Bastante justo. Además, el corte regular es más conciso, lo que aparentemente preocupa al OP ... –

9

Usted puede simplemente cortar la lista:

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

y luego iterar en la rebanada como con cualquier iterable.

+0

El corte parece la solución obvia, concisa y clara. –

Cuestiones relacionadas