usuario una suma separar que programa por pares números número numeros los lista ingresado imprimir imprima impares hasta hacer genere elementos código cantidad algoritmo agregar python list split

una - separar numeros pares e impares python



¿Dividir una lista en dos por elementos pares e impares? (3)

Posible duplicado:
Programa Python para dividir una lista en dos listas con elementos alternos

Tengo una lista como esta:

list1 = [blah, 3, haha, 2, pointer, 1, poop, fire]

La salida que quiero es:

list = [3, 2, 1, fire]

Entonces, lo que quiero es hacer una lista de elementos pares de la lista anterior. Intenté usar una declaración for e intenté eliminar el elemento 2nth mientras los agregaba a la lista, pero no funcionó:

count = 0 for a in list1: list2.append(a) if count % 2 = = 1: list2.pop(count) print list2

¿Alguna sugerencia?


Esto debería proporcionarle lo que necesita: muestrear una lista a intervalos regulares desde un desplazamiento 0 o 1:

>>> a = [''blah'', 3,''haha'', 2, ''pointer'', 1, ''poop'', ''fire''] >>> a[0:][::2] # even [''blah'', ''haha'', ''pointer'', ''poop''] >>> a[1:][::2] # odd [3, 2, 1, ''fire'']

Tenga en cuenta que en los ejemplos anteriores, la primera operación de división ( a[1:] ) muestra la selección de todos los elementos del índice de inicio deseado, mientras que la segunda operación de división ( a[::2] ) muestra cómo seleccionar todos los demás elementos en la lista.

Una operación de corte más idiomática y eficiente combina los dos en uno, a saber, a[::2] ( 0 puede omitirse) y a[1::2] , que evita la copia innecesaria de la lista y se debe utilizar en el código de producción, como Otros han señalado en los comentarios.


Puede simplemente dividir la lista: Para impar: a[1::2] Para par: a[::2]


Puede utilizar el corte de lista. El siguiente fragmento lo hará.

list1 = [''blah'', 3, ''haha'', 2, ''pointer'', 1, ''poop'', ''fire''] listOdd = list1[1::2] # Elements from list1 starting from 1 iterating by 2 listEven = list1[::2] # Elements from list1 starting from 0 iterating by 2 print listOdd print listEven

Salida

[3, 2, 1, ''fire''] [''blah'', ''haha'', ''pointer'', ''poop'']