Я не уверен, что это то, что вы ищете, но когда я прочитал ваше сообщение, я сразу подумал, что вы ищете для динамического создания ключей для подсчета упражнений.
В отличие от perl, который сделает это за вас по умолчанию,
grep{$_{$_}++} qw/ a a b c c c /;
print map{$_."\t".$_{$_}."\n"} sort {$_{$b}$_{$a}} keys %_;
c 3
a 2
b 1
Python не даст вам это бесплатно:
l = ["a","a","b","c","c","c"]
d = {}
for item in l:
d[item] += 1
Traceback (most recent call last):
File "./y.py", line 6, in
d[item] += 1
KeyError: 'a'
однако, defaultdict сделает это за вас,
from collections import defaultdict
from operator import itemgetter
l = ["a","a","b","c","c","c"]
d = defaultdict(int)
for item in l:
d[item] += 1
dl = sorted(d.items(),key=itemgetter(1), reverse=True)
for item in dl:
print item
('c', 3)
('a', 2)
('b', 1)