>>>
>>> import re
>>> from collections import Counter
>>>
>>> patt = re.compile(r"""^
... (?P<ch>\w+)
... \s+
... (?P<dg>\d+)
... \s*$""", re.I|re.U|re.X)
>>>
>>> datas = {}
>>> for m in filter(None, map(patt.match, context.splitlines())):
... info = m.groupdict()
... datas.setdefault(info["ch"], []).append(info["dg"])
...
>>> for ch, dgs in datas.iteritems():
... cnt = Counter(dgs)
... print ch, cnt.most_common()
...
a [('1', 2), ('3', 1)]
c [('1', 1)]
b [('1', 1), ('3', 1), ('2', 1)]
e [('2', 2), ('3', 1)]
d [('3', 1)]
追问你好,可以加一下注释吗?