Python - buscar elemento más frecuente en lista y nº de repeticiones

 
Vista:

buscar elemento más frecuente en lista y nº de repeticiones

Publicado por Cecilia (1 intervención) el 07/06/2018 17:20:36
Hola!
necesito definir una función color_frecuente(lista) para que en una lista de colores repetidos calcule cuál es el que más se repite y en qué número de veces. He conseguido crear un código que me lo calcula siempre que no haya varios colores repetidos en el mismo número máximo de veces. ¿cómo podría arreglar el código para solucionar estos casos y establecer la siguiente prioridad "azul, rojo, verde, amarillo"?


from statistics import mode

def color(lista):
return (mode(lista))


def numero (lista):

if mode(lista) == "rojo":
return (lista.count("rojo"))
elif mode(lista) == "azul":
return (lista.count("azul"))
elif mode(lista) == "verde":
return (lista.count("verde"))
elif mode(lista) == "amarillo":
return (lista.count("amarillo"))


def color_frecuente (lista):
x = str(color(lista))
y = numero(lista)
return (x,y)

print(color_frecuente(["azul", "azul", "rojo", "amarillo", "azul"]))

En este caso me da el resultado correcto ("azul",3).

Espero que podáis ayudarme, es el único ejercicio que me queda para poder aprobar un curso que termina este sábado!!
Gracias!!!
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