Contando ocorrências sem usar coleções.

Estou tentando recuperar os elementos mais frequentes e menos frequentes em uma lista.

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

Minha saída é:

([7], [13, 14])

Eu tentei com:

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]

Mas eu não quero usar ocollections módulo e tente uma solução mais lógica.
Você pode me ajudar a fazer isso sem coleções?

questionAnswers(5)

yourAnswerToTheQuestion