Tutaj zastosowany jest pythonowy Dictionary. W nich przechowujemy dane w formacie Klucz : Wartość. Klucz nie może się powtarzać..
dict = {}
tworzysz pusty dictionary
for n in str1:
keys = dict.keys()
if n in keys:
dict[n] += 1
else:
dict[n] = 1
iterujesz po każdej literze, pobierasz klucze z dictionary. Jeżeli taki klucz istnieje, co oznacza że litera została już znaleziona wcześniej i dodana do dictionary, dodajesz następne wystąpienie. W przeciwym wypadku dodajesz nowy klucz do dictionary i dajesz liczbę wystąpień jako 1. Po iteracji otrzymujesz dictionary z literami jako klucze i liczbami ich wystąpień jako wartości.
Opcjonalnie występowanie klucza można sprawdzić tak:
if n in dictionary:
dict[n] += 1
else:
dict[n] = 1