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


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Error python purificar lista
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Error python purificar lista  (Leído 2,527 veces)
Joe Fraddy

Desconectado Desconectado

Mensajes: 277


Ver Perfil
Error python purificar lista
« en: 16 Febrero 2015, 22:16 pm »

Bueno este es un ejercicio donde tengo que purificar una lista, tengo que sacar todos los impares pero no se porque me da un error:

Código
  1. def purificar(lista):
  2.    cont=0
  3.    while cont < len(lista):
  4.        if lista[cont] % 2 != 0:
  5.            lista.pop(cont)
  6.        cont+=1
  7.    return lista

Así no me alcanza a checar el último valor de la lista, pero si le agrego el =

así:

Código
  1.    while cont <= len(lista):

Me da el siguiente error:

Código:
Traceback (most recent call last):
  File "purificar.py", line 4, in purificar
    if lista[cont] % 2 != 0:
IndexError: list index out of range

Pero no se porque esta mal mi sentencia


En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.724


<3


Ver Perfil WWW
Re: Error python purificar lista
« Respuesta #1 en: 16 Febrero 2015, 22:36 pm »

Código
  1. oList  = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
  2. iCount = 0
  3. while iCount <= len(oList)-1:
  4.    if(oList[iCount] % 2 == 0):
  5.        print oList[iCount]
  6.    iCount = iCount + 1


En línea

Te vendería mi talento por poder dormir tranquilo.
Joe Fraddy

Desconectado Desconectado

Mensajes: 277


Ver Perfil
Re: Error python purificar lista
« Respuesta #2 en: 16 Febrero 2015, 22:47 pm »

No me sucede lo mismo, y según veo ese programa solamente imprime en pantalla los números pares, pero lo que estoy tratando de hacer es modificar la lista borrando los impares.

Para eso yo creo que haría algo así:

Código
  1. def purificar(lista):
  2.    for x in lista:
  3.        if x % 2 == 0:
  4.            print x,
« Última modificación: 16 Febrero 2015, 22:52 pm por Joe Fraddy » En línea

Joe Fraddy

Desconectado Desconectado

Mensajes: 277


Ver Perfil
Re: Error python purificar lista
« Respuesta #3 en: 16 Febrero 2015, 22:58 pm »

Pero de todos modos ya lo tengo el ejercicio se resuelve así:

Código
  1. def purificar(lista):
  2.    lst=[]
  3.    for x in lista:
  4.        if x % 2 == 0:
  5.            lst.append(x)    
  6.    return lst

Saludos!!!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Lista de matrices python
Scripting
Ikku 2 11,399 Último mensaje 12 Septiembre 2009, 13:20 pm
por Ikku
[Python] - La media de una lista « 1 2 »
Python
Meta 13 26,290 Último mensaje 26 Noviembre 2010, 13:57 pm
por Novlucker
[PYTHON]Guardar una lista en TXT
Python
wACtOr 0 9,438 Último mensaje 15 Febrero 2011, 21:30 pm
por wACtOr
Comprensión de lista en python
Scripting
Joe Fraddy 2 3,449 Último mensaje 18 Febrero 2015, 00:15 am
por Joe Fraddy
Error de comprensión de la lista de Python: resultado inesperado
Scripting
adhar2 1 4,812 Último mensaje 29 Agosto 2023, 14:53 pm
por reymosquito
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines