una tamaño sirve que para lista guardar definir datos como cargar python list indexing list-comprehension

tamaño - para que sirve una lista en python



¿Es posible la comprensión de la lista de Python con acceso al índice/enumerar? (3)

A menos que su caso de uso real sea más complicado, solo debe usar una porción de lista según lo sugerido por @wim

>>> list1 = [''zero'', ''one'', ''two'', ''three'', ''four'', ''five'', ''six''] >>> [x for ind, x in enumerate(list1) if 4 > ind > 0] [''one'', ''two'', ''three''] >>> list1[1:4] [''one'', ''two'', ''three'']

Para casos más complicados, si realmente no necesita el índice, es más claro iterar sobre un segmento o un islice

list2 = [x*2 for x in list1[1:4]]

o

from itertools import islice list2 = [x*2 for x in islice(list1, 1, 4)]

Para porciones pequeñas, la list1[1:4] . Si las rebanadas pueden ser bastante grandes, puede ser mejor usar un islice para evitar copiar la memoria

considere el siguiente código de Python con el cual agrego en una nueva lista2 todos los ítems con índices de 1 a 3 de list1:

for ind, obj in enumerate(list1): if 4> ind > 0: list2.append(obj)

¿Cómo escribirías esto usando la comprensión de la lista de Python, si no tengo acceso a los índices a través de enumerar?

algo como:

list2 = [x for x in list1 if 4>ind>0]

pero dado que no tengo un número ''ind'', ¿funcionaría esto? :

list2 = [x for x in enumerate(list1) if 4>ind>0]


Si usa enumerate , tiene acceso al índice:

list2 = [x for ind, x in enumerate(list1) if 4>ind>0]


list2 = [x for ind, x in enumerate(list1) if 4 > ind > 0]