擅长:python、mysql、java
<p>为什么不使用<code>reduce</code>和{<cd2>}函数。<code>reduce</code>将对迭代对象中的每个项应用一个函数,您还可以指定<code>reduce</code>的初始值</p>
<pre><code>from collections import OrderedDict
a = {'20140106': '82.1000000', '20140217': '77.0300000', '20140224': '69.6200000', '20140310': '46.3300000', '20140414': '49.3800000'}
def aggr(result, item):
key = filter(lambda x: x[:6] == item[0][:6], result.keys())
if not key:
result[item[0]] = [item[1]]
else:
result[key[0]].append(item[1])
return result
r = OrderedDict()
print reduce(aggr, a.items(), r)
</code></pre>