Contando ocurrencias sin usar colecciones.

Estoy tratando de recuperar los elementos más frecuentes y menos frecuentes en una lista.

frequency([13,12,11,13,14,13,7,11,13,14,12,14,14])

Mi salida es:

([7], [13, 14])

Lo probé con:

import collections
s = [13,12,11,13,14,13,7,11,13,14,12,14,14]
count = collections.Counter(s)
mins = [a for a, b in count.items() if b == min(count.values())]
maxes = [a for a, b in count.items() if b == max(count.values())]
final_vals = [mins, maxes]

Pero no quiero usar elcollections módulo y pruebe una solución más orientada a la lógica.
¿Pueden ayudarme a hacerlo sin colecciones?

Respuestas a la pregunta(5)

Su respuesta a la pregunta