Python. Задача 8-3

Дан список из целых чисел. Для каждого входящего в список числа вывести сколько раз оно встречается в списке. Если число встречается в списке несколько раз, то вывести его только один раз. Также вывести количество различных чисел в списке.

Список Вывод
[2, 5, 4, 5, 1, 5, 4, 4, 2, 5] Число 2 , количество: 2
Число 5 , количество: 4
Число 4 , количество: 3
Число 1 , количество: 1
Различных чисел: 4
[43, 37, 43, 39, 43, 52, 43, 37, 39, 39, 52, 43, 51, 39] Число 43 , количество: 5
Число 37 , количество: 2
Число 39 , количество: 4
Число 52 , количество: 2
Число 51 , количество: 1
Различных чисел: 5
Решение
a = [2, 5, 4, 5, 1, 5, 4, 4, 2, 5]
# Счетчик различных чисел
cnt = 0
# Перебираем в цикле все индексы элементов списка
for  i in range(len(a)):
    # Проверяем встречалось ли число среди уже перебранных элементов
    for j in range(i):
        if a[i] == a[j]:
            break
    else:
        # Число еще не встречалось
        cnt += 1
        print('Число', a[i], ', количество:', end = ' ')
        # Считаем количество чисел, равных текущему
        n = 1
        for j in range (i + 1, len(a)):
            if a[i] == a[j]:
                n += 1
        print(n)
print('Различных чисел:', cnt)