python中的tuple list排序问题

如何将一组(字母,出现频率)组成的list按照字母的出现频率从多到少排序,而当出现频率相同时,按字母表从小到大(a-z)排序?比如[('a':3,'b':4','a':4... 如何将一组(字母,出现频率)组成的list 按照字母的出现频率从 多到少 排序, 而当出现频率相同时,按字母表从小到大(a-z)排序?
比如[( 'a' : 3, 'b': 4' , 'a' : 4]
sort成 ['a' : 4, 'b' : 4, 'a' : 3]?

现在遇到的问题是 如果数字从大到小排列,字母表也从大到小了排列了@a@,不知该如何解决?
展开
 我来答
毫无威严雷米喵
推荐于2016-05-16 · TA获得超过428个赞
知道答主
回答量:29
采纳率:0%
帮助的人:44.2万
展开全部
data = [('a', 3), ('b', 4), ('a', 4)]
print sorted(data, key=lambda t: (-t[1], t[0]))

输出:

[('a', 4), ('b', 4), ('a', 3)]
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式