擅长:python、mysql、java
<p>可以使用<a href="https://docs.python.org/2/library/collections.html#collections.defaultdict" rel="nofollow">^{<cd1>}</a>创建具有唯一键和值列表的字典:</p>
<pre><code>>>> l=[(3, '655'),(3, '645'),(3, '641'),(4, '602'),(4, '674'),(4, '620')]
>>> from collections import defaultdict
>>> d=defaultdict(list)
>>>
>>> for i,j in l:
... d[i].append(int(j))
...
>>> d
defaultdict(<type 'list'>, {3: [655, 645, 641], 4: [602, 674, 620]})
</code></pre>
<p>然后使用列表来创建预期的对:</p>
<pre><code>>>> [(i,sum(j)/len(j)) for i,j in d.items()]
[(3, 647), (4, 632)]
</code></pre>
<p>在代码中,您可以执行以下操作:</p>
<pre><code>with open('file.csv', 'rb') as csvfile:
reader = csv.reader(csvfile)
for row in reader:
date = time.strptime(row[3], "%a %b %d %H:%M:%S %Z %Y")
data = date, row[5]
month = data[0][1]
avg = data[1]
d[month].append(int(avg))
print [(i,sum(j)/len(j)) for i,j in d.items()]
</code></pre>