loop index for examples array python for-loop elements

examples - python for loop index



Saltarse todos los demás elementos después de la primera (7)

Hay más formas que una de desollar a un gato. - Seba Smith

arr = list(range(10)) # Range from 0-9 # List comprehension: Range with conditional print [arr[index] for index in range(len(arr)) if index % 2 == 0] # List comprehension: Range with step print [arr[index] for index in range(0, len(arr), 2)] # List comprehension: Enumerate with conditional print [item for index, item in enumerate(arr) if index % 2 == 0] # List filter: Index in range print filter(lambda index: index % 2 == 0, range(len(arr))) # Extended slice print arr[::2]

Tengo la idea general de cómo hacer esto en Java, pero estoy aprendiendo Python y no estoy seguro de cómo hacerlo.

Necesito implementar una función que devuelva una lista que contenga todos los demás elementos de la lista, empezando por el primer elemento.

Hasta ahora, tengo y no estoy seguro de cómo hacerlo desde que estoy recién aprendiendo cómo los for-loops en Python son diferentes:

def altElement(a): b = [] for i in a: b.append(a) print b


Alternativamente, podrías hacer:

for i in range(0, len(a), 2): #do something

Sin embargo, la notación de división extendida es mucho más concisa.


Notación de a[start_index:end_index:step]

return a[::2]

donde start_index defecto en 0 y end_index predetermina en len(a) .


Usando el for-loop como lo has hecho, una forma es esta:

def altElement(a): b = [] j = False for i in a: j = not j if j: b.append(i) print b

j solo cambia entre 0 y 1 para realizar un seguimiento de cuándo agregar un elemento a b.



def altElement(a): return a[::2]


items = range(10) print items >>> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] print items[1::2] # every other item after the second; slight variation >>> [1, 3, 5, 7, 9] ]