擅长:python、mysql、java
<p>如果希望排序后的列表只包含值元组:</p>
<pre><code>>>> d = {'objA':(1,12),'objB':(13,3)}
>>> sorted(d.values())
[(1, 12), (13, 3)]
>>> sorted(d.values(), key=lambda t: t[1])
[(13, 3), (1, 12)]
</code></pre>
<p>如果需要dict中值的完整元组:</p>
^{pr2}$
<p>编辑(根据您的评论):</p>
<pre><code>def f(d,c):
return sorted(d.items(),key=c)
print(f(d,lambda t: t[1][0]))
</code></pre>
<p><a href="http://wiki.python.org/moin/HowTo/Sorting/#Key_Functions" rel="nofollow">key</a>接受函数。所以你可以这样做:</p>
<pre><code>def cmpFirstVal(t1):
return t1[1][0]
def cmpSecondVal(t1):
return t1[1][1]
def f(d,c):
return sorted(d.items(),key=c)
print(f(d,cmpFirstVal))
print(f(d,cmpSecondVal))
</code></pre>