elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [Python] - Eliminar listas y par
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: [Python] - Eliminar listas y par  (Leído 14,630 veces)
Meta


Desconectado Desconectado

Mensajes: 3.438



Ver Perfil WWW
[Python] - Eliminar listas y par
« en: 14 Noviembre 2010, 06:13 am »

Buenas:

Ver ejercicio.


¿Cómo hago para borrar números pares de una lista así sin más?

lista = [1, 2, 1, 5, 0, 3]

Intenté hacer una locura.

Código
  1. lista = [1, 2, 1, 5, 0, 3]
  2.  
  3. i = 0
  4. while i < len(lista):
  5.    if lista[i] < 2:
  6.        del lista[i]
  7.    else:
  8.        i += 2
  9.  
  10. print lista


En línea

xassiz~


Desconectado Desconectado

Mensajes: 457



Ver Perfil WWW
Re: [Python] - Eliminar listas y par
« Respuesta #1 en: 14 Noviembre 2010, 12:48 pm »

Con:
Código
  1. if lista[i] < 2:
  2.  
compruebas si el número es par? ;D


En línea

Meta


Desconectado Desconectado

Mensajes: 3.438



Ver Perfil WWW
Re: [Python] - Eliminar listas y par
« Respuesta #2 en: 14 Noviembre 2010, 13:55 pm »

Es un ejemplo que vienen en el PDF.

¿Cómo se hace lo del par?
En línea

xassiz~


Desconectado Desconectado

Mensajes: 457



Ver Perfil WWW
Re: [Python] - Eliminar listas y par
« Respuesta #3 en: 14 Noviembre 2010, 15:23 pm »

Código
  1. lista = [1, 2, 1, 5, 0, 3]
  2.  
  3. for i in lista:
  4.    if lista[i]%2 == 0:
  5.        del lista[i]
  6.  
  7. print lista
  8.  
No tengo Python en este pc, pero debería funciona :P
En línea

Meta


Desconectado Desconectado

Mensajes: 3.438



Ver Perfil WWW
Re: [Python] - Eliminar listas y par
« Respuesta #4 en: 14 Noviembre 2010, 16:08 pm »

Da error:
Citar
    if lista%2 == 0:
IndexError: list index out of range
En línea

xassiz~


Desconectado Desconectado

Mensajes: 457



Ver Perfil WWW
Re: [Python] - Eliminar listas y par
« Respuesta #5 en: 14 Noviembre 2010, 18:42 pm »

lista[i], no lista
En línea

.:WindHack:.

Desconectado Desconectado

Mensajes: 167

Prisionero de mi propia mente...


Ver Perfil WWW
Re: [Python] - Eliminar listas y par
« Respuesta #6 en: 14 Noviembre 2010, 19:55 pm »

El código está mal. Es así:

Código
  1. List = [1,2,3,4,5,6,7,8,9,10]
  2.  
  3. for i in List:
  4.    if i % 2 == 0:
  5.        List.remove(i)
  6.  
  7. print List
En línea

Follow me on Twitter: @windhack | Visit my website: www.daw-labs.com

"The only thing they can't take from us are our minds."
Meta


Desconectado Desconectado

Mensajes: 3.438



Ver Perfil WWW
Re: [Python] - Eliminar listas y par
« Respuesta #7 en: 14 Noviembre 2010, 20:30 pm »

No, no es así: Lo he estado probando a mi manera y no.

Código
  1. lista = [1, 2, 1, 5, 0, 3]
  2.  
  3. for i in lista:
  4.    if i % 2 == 0:
  5.        lista.remove(i)
  6.  
  7. print lista

Citar
[1, 1, 5, 3]

El resultado debe ser así.
Citar
[2, 5, 3]

Mirando lo que significa remove. ME imagino que quitar, eliminar. Aquí hay tantas cosa que no se done pinchar.
http://docs.python.org/search.html?q=remove

Gracias por tu tiempo.
En línea

xassiz~


Desconectado Desconectado

Mensajes: 457



Ver Perfil WWW
Re: [Python] - Eliminar listas y par
« Respuesta #8 en: 14 Noviembre 2010, 21:46 pm »

Perdón:
Código
  1. lista = [1, 2, 1, 5, 0, 3]
  2.  
  3. for i in lista:
  4.    if i%2 == 0:
  5.        del lista[i]
  6.  
  7. print lista
  8.  
En línea

.:WindHack:.

Desconectado Desconectado

Mensajes: 167

Prisionero de mi propia mente...


Ver Perfil WWW
Re: [Python] - Eliminar listas y par
« Respuesta #9 en: 14 Noviembre 2010, 21:57 pm »

No, no es así: Lo he estado probando a mi manera y no.

El resultado debe ser así.
Citar
[2, 5, 3]

Mirando lo que significa remove. ME imagino que quitar, eliminar. Aquí hay tantas cosa que no se done pinchar.
http://docs.python.org/search.html?q=remove

Gracias por tu tiempo.

Perdón, fue error mío al no leer el enunciado del ejercicio. Entendí que se debía eliminar los números pares de la lista, cuando lo que pedían era remover los elementos que tuviesen un índice par.

Bueno, creo que de esta manera funciona bien:

Código
  1. List = [1, 2, 1, 5, 0, 3]
  2.  
  3. i = 0
  4. while (i < len(List)):
  5. del List[i]
  6. i += 1
  7.  
  8. print List

Código
  1. C:\Users\WindHack\Desktop\>PoC.py
  2. [2, 5, 3]
En línea

Follow me on Twitter: @windhack | Visit my website: www.daw-labs.com

"The only thing they can't take from us are our minds."
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Python, Listas a la inversa
Scripting
Arnau27 2 9,329 Último mensaje 23 Agosto 2011, 05:55 am
por 0x5d
Python Listas ayuda
Scripting
limblimb 4 3,177 Último mensaje 19 Enero 2012, 10:58 am
por fallout20xx
Problema con listas en Python (Resuelto)
Scripting
MA40 2 6,327 Último mensaje 6 Abril 2012, 12:32 pm
por MA40
[Python] problemas con las listas linkeadas...
Scripting
fallout20xx 0 1,706 Último mensaje 12 Abril 2012, 16:11 pm
por fallout20xx
Python, Listas
Scripting
guillehampp 3 3,156 Último mensaje 21 Noviembre 2014, 22:35 pm
por guillehampp
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines