Una forma de recorrer las listas en Python es usando una forma similar a la que se usa en matemática para determinar un conjunto por comprensión.
Por ejemplo, si se quiere determinar un conjunto A que tiene los elementos {1, 2, 3, 4, 5, 6}
En notación matemática se puede decir lo siguiente:
A = { x / x pertenece a los numeros naturales, tal que 0 < x < 7}
Esto en python se puede expresar de la siguiente manera:
A = [xforx in range(0, 100) ifx > 0 and x < 7]
En el caso del ejercicio en el que tenemos un conjunto inicial y queremos obtener un subconjunto de este, se puede usar esta notacion para obtener los elementos bajo cierta condición (que sean positivos), por lo tanto podemos tener lo siguiente:
new_list = [eforein my_list ife > 0]
El código completo del ejercicio sería este:
my_list = [1, -1, 2, -2, 3, -3, 4, -4]
new_list = [eforein my_list ife > 0]
print(new_list)