<p>这里有一个丑陋的(相当低效的)变种。它结合了<em>dict</em>理解、排序,并获得对应于键的1<sup>st</sup>的<em>dict</em>值(通过(丑陋的)<code>d[list(d.keys())[0]]</code>):</p>
<blockquote>
<pre class="lang-py prettyprint-override"><code>>>> data.keys()
dict_keys(['16741b673a418af3812f6d43ea3f7daf', 'cbef6de99cc2b9739c824db6d0246093', 'a1e0f7ccdd8d38cb5ae00cdac71b6724'])
>>> data_sorted = {k: v for k, v in sorted(data.items(), key=lambda x: x[1][list(x[1].keys())[0]][3])}
>>> data_sorted.keys()
dict_keys(['16741b673a418af3812f6d43ea3f7daf', 'a1e0f7ccdd8d38cb5ae00cdac71b6724', 'cbef6de99cc2b9739c824db6d0246093'])
</code></pre>
</blockquote>
<p>因为<strong><em>1</em></strong>(<strong>2<sup>nd</sup></strong>one)只存在于<code>'16741b673a418af3812f6d43ea3f7daf'</code>的子字典中。你知道吗</p>
<p>你的字典里有大量的重复。它可以被精简为以下内容(也使排序表达式更加简单):</p>
<blockquote>
<pre class="lang-py prettyprint-override"><code>>>> data = {("16741b673a418af3812f6d43ea3f7daf", 1132): ["data-01", "data-02", "data-03"],
... ("cbef6de99cc2b9739c824db6d0246093", 55296): ["data-04", "data-05", "data-06", "data-07"],
... ("a1e0f7ccdd8d38cb5ae00cdac71b6724", 20125): ["data-08", "data-09", "data-10"]}
>>>
>>> {k: v for k, v in sorted(data.items(), key=lambda x: x[0][1])}
</code></pre>
</blockquote>