擅长:python、mysql、java
<p>这就是你所要求的——所有的纽约人先按名字排序,然后其他人也按名字排序。</p>
<pre><code>names_states = {
'user1': 'CA',
'user2': 'NY',
'user7': 'CA',
'guest': 'MN',
}
def ny_compare(x, y):
if names_states[x] == 'NY':
if names_states[y] == 'NY':
return cmp(x,y)
else:
return -1
elif names_states[y] == 'NY':
return 1
return cmp(x,y)
for key in sorted(names_states.iterkeys(), cmp=ny_compare):
print "%s : %s" %(key, names_states[key])
</code></pre>