LINUX.ORG.RU

История изменений

Исправление slovazap, (текущая версия) :

На логику не смотрел (но по-моему у тебя там не различаются входные и выходные состояния), а насчёт компактности - открой для себя collections.

from collections import defaultdict 

states = defaultdict(int)
states['A', 'B'] += 1
states['B', 'C'] += 1
states['C', None] += 1

for (from_, to), count in states.items():
    print(from_, '→', to, ':', count)
A → B : 1
B → C : 1
C → None : 1

Ещё лучше тут подходит collections.Counter.

Исходная версия slovazap, :

На логику не смотрел, а насчёт компактности - открой для себя collections:

from collections import defaultdict 

states = defaultdict(int)
states['A', 'B'] += 1
states['B', 'C'] += 1
states['C', None] += 1

for (from_, to), count in states.items():
    print(from_, '→', to, ':', count)
A → B : 1
B → C : 1
C → None : 1

Ещё лучше тут подходит collections.Counter.