擅长:python、mysql、java
<p>您也可以这样做:</p>
<pre><code>l = [['year', 'month', 'date_of_month', 'day_of_week', 'births'],
['1994', '1', '1', '6', '8096'],
['1994', '1', '2', '7', '7772'],
['1994', '1', '3', '1', '10142']]
births = []
for i in range(1,8):
births.append([i, sum(int(elem[4]) for elem in l if elem[3] == str(i))])
births = dict(births)
print(births)
</code></pre>
<p>输出:</p>
<pre><code>{1: 10142, 2: 0, 3: 0, 4: 0, 5: 0, 6: 8096, 7: 7772}
</code></pre>
<p>或上述内容的简化版本:</p>
<pre><code>births = dict([[i, sum(int(elem[4]) for elem in l if elem[3] == str(i))] for i in range(1,8)])
</code></pre>
<p>也可以使用<code>map</code>函数:</p>
<pre><code>births = dict(map(lambda i: [i, sum(int(elem[4]) for elem in l if elem[3] == str(i))], range(1,8)))
</code></pre>