Título: [Python] sustituir listas Publicado por: Meta en 12 Noviembre 2010, 13:03 pm En el ejercicio 226) del libro en pdf página 175 que se puede ver en mi firma abajo...
Por lo que dice debo hacer: Citar - Crea aualquier lista con algunos números negativo. - Sustituir cualquier elemento negativo por 0. Primer paso: ta = [0, 1, 2, 3, -4, 5, -6, 8, -9] Iba a usar for i in lista, pero la idea es sustituirla. Lo iba hacer uno a uno manualmente a modificar los negativos por los 0 y no creo que sea lo recomendado. Ejemplo: ta = [0, 1, 2, 3, -4, 5, -6, 8, -9] ta = [-4] = 0 >>> a resultado: lista = [0, 1, 2, 3, 0, 5, -6, 8, -9] Y así con los demás números negativos. Esto de hacerlo manual no creo que sea lo correcto, debe haber alguna manera de como hacerlo de una pasada. Por ejemplo: Si detecta en una lista un número negativo, modificar esa lista sustituyento los números negativos por 0. Eso es lo que no se si se puede hacer. Por ahora manualmente uno a uno si me sale, aunque así es tedioso. Título: Re: [Python] sustituir listas Publicado por: Novlucker en 12 Noviembre 2010, 13:11 pm No se como es que funciona eso que pones, lo de ta = [-4] = 0 debería de partirse con un "SyntaxError: can't assign to literal"
Y si es con un for in Saludos Título: Re: [Python] sustituir listas Publicado por: Novlucker en 12 Noviembre 2010, 13:42 pm En realidad a mi se me ocurre otra manera, pero dudo que sea lo que estas buscando
Código Supongo que eso es menos tedioso, pero también puede que lo entiendas menos :xD Saludos Título: Re: [Python] sustituir listas Publicado por: Meta en 12 Noviembre 2010, 15:45 pm No se como es que funciona eso que pones, lo de ta = [-4] = 0 debería de partirse con un "SyntaxError: can't assign to literal" Y si es con un for in Saludos Lo de ta[-4] = 0, querio decirlo así. ejjeje y funciona pero es manual. Tu código funciona y no hace falta un int. Código
Esta parte del código Código Por lo que estoy viendo x del índice del "for in" comprueba si es mayor que cero, después multiplica por x cuyo resultado da cero. ¿Me equivoco? Tu código funciona, ahora quiero aprender cómo funciona para aprender si no te importa. ;) Título: Re: [Python] sustituir listas Publicado por: Novlucker en 12 Noviembre 2010, 15:49 pm Es que eso tampoco funciona :xD
Mira, a ti te esta funcionando porque justamente el elemento que quieres modificar coincide con el que esta en el índice 4, cambia en el ta ese -4 por un -14 y verás que no te funciona. Lo que pasa es que como las listas no aceptan indices negativos simplemente lo ignora y revisa el índice 4, no es que este modificando el valor -4 Saludos Título: Re: [Python] sustituir listas Publicado por: Novlucker en 25 Noviembre 2010, 11:53 am Hasta ahora veo que habías modificado :silbar:
Efectivamente el code funciona aún sin el int, en realidad no se por que lo puse :xD, ya que en los calculos los True y False no hace falta convertirlos, puedes hacer perfectamente True*5 :P Esta parte del código Código Por lo que estoy viendo x del índice del "for in" comprueba si es mayor que cero, después multiplica por x cuyo resultado da cero. Lo que hago es revisar si es mayor a cero, si es mayor a cero da True, y True por un numero es igual al mismo numero (True*5=5), si es menor a cero da False, y como False es cero, cero por cualquier cosa es cero. De este modo los números negativos quedan como ceros en la sustitución. Saludos Título: Re: [Python] sustituir listas Publicado por: Meta en 25 Noviembre 2010, 12:11 pm Gracias por la información.
Título: Re: [Python] sustituir listas Publicado por: omcan en 5 Mayo 2017, 09:08 am En realidad el programa almacena los valores booleanos en un bit como un 1 o 0; esta característica yo creo es conocida por todos, pero Novlucker muestra que también se permite usar los booleanos True o False para operar matemáticamente como si fueran unos y ceros:
Código
Dentro del código: Código
la sentencia (x>0) tiene la función de devolver un booleano True o False que es interpretado como un 1 o un 0 y usado para multiplicar a "x"; y es el resultado de esa operación, para cada valor de x, la que va dando la serie de resultados: [0, 1, 2, 3, 0, 5, 0, 8, 0]. Título: Re: [Python] sustituir listas Publicado por: PUAROT en 5 Mayo 2017, 11:24 am creo que la solución que buscas al problema mas sencilla y fácil de entender sea:
Código
Analiza bien que hace cada linea Título: Re: [Python] sustituir listas Publicado por: Novlucker en 17 Septiembre 2017, 08:58 am Solo 7 años tarde :rolleyes: :silbar:
|