擅长:python、mysql、java
<pre><code>import collections
import string
c = collections.defaultdict(collections.Counter)
speaker = None
with open('/tmp/spam.txt') as f:
for line in f:
if not line.strip():
# we're on an empty line, the last guy has finished blabbing
speaker = None
continue
if line.count(' ') == 0 and line.strip().endswith(':'):
# a new guy is talking now, you might want to refine this event
speaker = line.strip()[:-1]
continue
c[speaker].update(x.strip(string.punctuation).lower() for x in line.split())
</code></pre>
<p>输出示例:</p>
^{pr2}$