擅长:python、mysql、java
<p>尝试以下操作:</p>
<pre><code>import itertools
import operator
import sys
lines = (line.split() for line in sys.stdin)
prev_name, prev_month = '', '99999999'
month_view = 0
for (name,date), grp in itertools.groupby(lines, key=operator.itemgetter(0,1)):
view = sum(int(row[-1]) for row in grp)
if prev_name == name and date.startswith(prev_month):
month_view += view
else:
prev_name = name
prev_month = date[:6]
month_view = view
print '{}\t{}\t{}\t{}'.format(name, date, view, month_view)
</code></pre>
<p>使用<a href="http://docs.python.org/2/library/itertools.html#itertools.groupby" rel="nofollow">^{<cd1>}</a>,<a href="http://docs.python.org/2/library/operator.html#operator.itemgetter" rel="nofollow">^{<cd2>}</a>。在</p>
<p>输出不同:</p>
^{pr2}$