Título: Obtener el número mayor con comprensión de listas en Python. Publicado por: El mas antiguo en 8 Octubre 2022, 22:06 pm Hola gente, ¿cómo están?, es demasiado lo que estoy renegando por eso los consulto, ¿es posible obtener el número mayor de una lista sin utilizar el método MAX con comprensión de listas?.-
Dejo lo que tengo hecho... #El mayor con comprensión de listas y método MAX Código
Código
¿cómo inserto el condicional? Código
Slds. Daniel ☕☕☕ Título: Re: Obtener el número mayor con comprensión de listas en Python. Publicado por: MCKSys Argentina en 8 Octubre 2022, 23:56 pm Hola!
Puedes ordenar la lista e imprimir el ultimo valor (el mayor) Código
Eso devuelve: Citar El mayor elemento es: 454 Saludos! Título: Re: Obtener el número mayor con comprensión de listas en Python. Publicado por: El mas antiguo en 9 Octubre 2022, 00:11 am Gracias por ocuparte, está muy bien y de esa manera se obtiene el máximo
y el mínimo, pero el caso es que estoy estudiando lista por comprensión y por eso los consulte, gracias, seguiremos buscando... Slds. Daniel ☕☕☕ Título: Re: Obtener el número mayor con comprensión de listas en Python. Publicado por: RicRed en 9 Octubre 2022, 00:21 am Con el metodo sort() se ordenan los numeros de un arreglo se llamaria? o lista?
Necesito aprender Python. Saludos! Título: Re: Obtener el número mayor con comprensión de listas en Python. Publicado por: Tachikomaia en 9 Octubre 2022, 01:59 am No sé mucho del tema pero... ¿no sería algo así?
Código: a = [[10, 13, 454, 66, 44]] En tu lenguaje debería haber una manera de indicar un valor de la lista, pero no sé cómo será esa manera, eso lo tienes que averiguar estudiando ese lenguaje o preguntando en el foro. También puedes hacer que el valor inicial de el_mayor sea 0, pero si debe ser un valor incluído en la lista entonces tiene más sentido que dicha variable inicie siendo uno, además de que se reduce el nro de elementos a recorrer luego con el "Repetir". Luego con un "Repetir" vas comparando el_mayor con los diferentes elementos de tu lista, hasta que ya no queden más. En tu lenguaje debería haber una manera de obtener cuántos elementos tiene una lista, pero sino lo puedes hacer manualmente: Código: a = [[10, 13, 454, 66, 44]] Ahora haré algunas preguntas, si no es molestia, y me las responden si quieren. ¿Qué es "por comprensión"? ¿Qué hace esto b = [max(p) for p in a] ? Digo, obtiene el mayor valor de a, pero ¿qué es eso de p? Nunca entendí bien los for, pero esto menos, es como "el máximo de p para p en a" :o o "el máximo será llamado p para p en a" ¿por qué no es algo como b = max in a o b = max(a) ? Ni siquiera tiene sentido llamarle p a eso, porque le estás llamando b, si quieres llamarle p le llamas así a la variable en vez de llamarle b, o creas otra variable, p, que tenga el valor de b. No está mal crear 2 variables en una misma línea de esta manera, pero parece lioso.+ Parece un intento de recorrer "a" variando p, pero ¿se hace así? ¿en español cual sería la traducción? Código ¿Con ese for se recorre la lista como he puesto yo usando Repetir, n++ y demás? Parece una forma sencilla de hacerlo. ¿No te funciona? ¿te dice que hay un error de código o el_mayor no te da el resultado que esperas? Código: a = [10, 13, 454, 66, 44] print('El mayor elemento es: '+a[a.lengh-1] que se traduciría como Imprimir 'El mayor elemento es: ' y al lado imprimir el elemento ((largo de a)-1), es decir el último elemento de a. Gracias. Título: Re: Obtener el número mayor con comprensión de listas en Python. Publicado por: El mas antiguo en 9 Octubre 2022, 16:05 pm El que busca encuentra y por fin lo encontré.-
Si lo envolves con corchetes, mayor pasa a ser una lista con un solo elemento, si haces lo contrario mayor es del tipo int.- Si invertís el mayor que encuentra el menor de la lista.- Código Bueno, parece ser todo, feliz domingo... Slds. Daniel ☕☕☕ Título: Re: Obtener el número mayor con comprensión de listas en Python. Publicado por: reymosquito en 10 Octubre 2022, 14:50 pm bueno veamos:
1) Código
eso no es ni de cerca comprensión de listas, justamente existe una marcada diferencia entre las funciones lambda y la compresion de listas, consideralo una solución pero no es comprensión de listas! además la estructura de la primera lista no coincide con la segunda: 1= Código esto es una lista de listas 2= Código esto es simplemente una lista 2) Código
esa es la estructura correcta de la compresion de listas. un elemento a incluir , un bucle y un iterador 3) lo que me lleva a: el segundo ejemplo además de ser una comprensión de listas y el primero no, es más legible, es más eficiente y no importa bibliotecas ¿qué necesidad de inventar la rueda? 4)el problema con lo que buscas hacer no son los condicionales, sino las asignaciones: Código Creo que todavía no has entendido cuando aplica la comprensión de listas. Título: Re: Obtener el número mayor con comprensión de listas en Python. Publicado por: El mas antiguo en 10 Octubre 2022, 17:40 pm Hola Rey, gracias por ocuparte.-
Conclusiones: Esto decía el enunciado en el libro, dentro de comprensión de lista: EJERCICIOS DE REPASO: 1. Escriba un programa en Python que acepte una lista de valores numéricos y obtenga su valor máximo sin utilizar la función «built-in» max() (solución). Entrada: [6, 3, 9, 2, 10, 31, 15, 7] Salida: 31 ¿Cómo querés que lo encare?, no llevaba ni 3 horas(literal) leyendo sobre comprensión de lista y con esto te doy la razón en cuanto a tu última línea.- Esto es lo que me ocurre si no lo hago con lista de listas... Código
Citar [...] b = [max(p) for p in a] TypeError: 'int' object is not iterable Slds. Daniel ☕☕☕ Título: Re: Obtener el número mayor con comprensión de listas en Python. Publicado por: reymosquito en 10 Octubre 2022, 19:01 pm hola Daniel:
1)No tiene sentido usar compresión de listas para ese planteo 2)Si te fijas lo esperado no es una lista Citar Salida: 31 sino salida sería: [31] pero en el tiempo que llevo de python ya el planteo sería rídiculo. 3) Citar Esto es lo que me ocurre si no lo hago con lista de listas... Código
pues está muy mal, la función max() recibe como argumento un iterable, no un entero que es lo que le estás pasando Edito: No sigue el planteo por usar max(), pero te muestro como debería ser si querés usarla solo en una lista: Código
Insistiendo en que esto es sumamente ilógico. 4)parece muy obvio pero la mejor solución es usar lo que pusiste de ejemplo inicial con for: Código
siempre obviando que es una tontería cuando: Código
si el libro hace esos planteos, te recomiendo que cambies de libro 5)compresión de listas o diccionarios es bárbaro para mí, pero para lo que realmente se hizo. Título: Re: Obtener el número mayor con comprensión de listas en Python. Publicado por: El mas antiguo en 10 Octubre 2022, 20:55 pm Hola Rey, jajajajaja con vos o aprendo a programar correctamente
o me agarro la frustración del siglo jajajajaj.- Me está gustando esta manera y me hace comprender que en programación no es todo copy/paste, gracias... Slds. Daniel ☕☕☕ |