Python - Como retornar todas las veces que el valor es mayor

 
Vista:

Como retornar todas las veces que el valor es mayor

Publicado por Carlos (32 intervenciones) el 11/06/2021 00:57:01
Si lluvia= [1,40,3,30,6,16,10,9,11,9,12,40,15,40], entonces deberás retornar la lista [1, 12, 15], ya que esos fueron los días en los que más llovió (40mm).

Si lluvia = [10, 10, 23, 4, 24, 8], entonces deberás retornar la lista [10], ya que es el único día en el que más llovió.

Siendo lluvia una lista

Y como poder hacerlo en el caso en donde hay str además como el siguiente:

Si lluvia_total = ['Enero',1,10,2,5,10,2,'Febrero',4,10,'Abril',1,40,2,14,3,30,6,16, 10,9,11,9,12,40], entonces deberás retornar la lista ['Abril', 158], ya que Abril fue el més en el que más llovió y llovieron en total 158mm.

Si lluvia_total = ['Enero',1,10,'Febrero',4,11,'Abril',1,4], entonces deberás retornar la lista ['Febrero', 11], ya que Febrero fue el mes en el que más llovió y llovieron en total 11 mm.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de joel
Val: 3.443
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Como retornar todas las veces que el valor es mayor

Publicado por joel (889 intervenciones) el 11/06/2021 10:43:37
Hola Carlos, no entiendo muy bien la lógica... porque es 1, 12 y 15 si lluvia=[1,40,3,30,6,16,10,9,11,9,12,40,15,40] ??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Como retornar todas las veces que el valor es mayor

Publicado por Carlos (32 intervenciones) el 11/06/2021 13:04:09
Hola Joel, es que la función debe retornar el o los días en que llovió más, por eso cada 2 números el primero es el día y el segundo la cantidad de lluvia, como los días 1,12 y 15 llovió 40mm estos son los que se deben retornar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 3.443
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Como retornar todas las veces que el valor es mayor

Publicado por joel (889 intervenciones) el 15/06/2021 08:49:47
Ah, entiendo Carlos...
haber si lo he hecho bien... en el primero ejemplo:

1
2
3
4
5
6
lluvia = [1,40,3,30,6,16,10,9,11,9,12,40,15,40]
 
maximo=max([lluvia[i] for i in range(1, len(lluvia), 2)]) # 40
resultado=[lluvia[i] for i in range(0, len(lluvia), 2) if lluvia[i+1]==maximo] # [1, 12, 15]
 
print(resultado) # [1, 12, 15]

Seria correcto, no?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar