擅长:python、mysql、java
<p>使用<code>itertools.groupby</code>:</p>
<pre><code>my_dict = {
'N': [
{'DATE': 2019, 'VALUE': 1},
{'DATE': 2018, 'VALUE': 2}
],
'LT': [
{'DATE': 2019, 'VALUE': 40},
{'DATE': 2001, 'VALUE': 50}
]
}
from itertools import groupby
null_d = list({k: 'NULL' for k in my_dict}.items())
s = sorted(((k, i) for k, v in my_dict.items() for i in v), key=lambda k: k[1]['DATE'])
data = [dict([('DATE',v)] + null_d + [(v[0], v[1]['VALUE']) for v in g] ) for v, g in groupby(s, key=lambda k: k[1]['DATE'])]
from pprint import pprint
pprint(data)
</code></pre>
<p>印刷品:</p>
<pre><code>[{'DATE': 2001, 'LT': 50, 'N': 'NULL'},
{'DATE': 2018, 'LT': 'NULL', 'N': 2},
{'DATE': 2019, 'LT': 40, 'N': 1}]
</code></pre>