擅长:python、mysql、java
<p>试试这个:</p>
<pre><code>>>> import operator
>>> sorted(
... reduce(operator.add,
... [[(k, k1, sampleDict[k][k1]['size']) for k1 in v.keys()]
... for k,v in sampleDict.items()]
... ),
... key=lambda x: x[2], reverse=True)
[('keyA', 'keyB', 1000), ('keyA', 'keyD', 750), ('keyA', 'keyC', 500), ('keyA', 'keyE', 250)]
</code></pre>
<p>reduce语句用于将嵌套列表<code>[[a],[b,c],[d]]</code>转换为<code>[a,b,c]</code>。你知道吗</p>
<p>sorted语句的键参数指定对<code>(k,k1,val)</code>ie,val的(包含零的)第二个参数进行排序</p>
<p>反向参数按降序排列列表。你知道吗</p>