Как быстро и без дополнительных проверок составить словарь, содержащий частоту повторения объектов. Классический алгоритм предполагает поиск значения в словаре и увеличение счетчика, если оно найдено, в противном случае, добавление элемента со значением равным единице:
Python
items_dict = {}
for item in items_list:
if item in items_dict:
items_dict[item] += 1
else:
items_dict[item] = 1
Но можно использовать метод get() и код становится сильно проще без малейшей потери эффективности:
Python
items_dict = {}
for item in items_list:
items_dict[item] = items_dict.get(item, 0) + 1
Этот прием прекрасно работает с любым итерируемым объектом.