当前位置:  开发笔记 > 编程语言 > 正文

我如何按其中一个值然后另一个值对元组列表进行排序?

如何解决《我如何按其中一个值然后另一个值对元组列表进行排序?》经验,为你挑选了1个好方法。

我会说到这一点,我有这个:

    ocurrencias = [('quiero', 1), ('aprender', 1), ('a', 1), ('programar', 1), ('en', 1), ('invierno', 2), ('hace', 1), ('frio', 1), ('este', 1)]

我想通过元组的第二个值然后通过它们的字符串值对它进行排序,然后打印每个元素来获取:

    output:invierno 2
           a 1
           aprender 1
           en 1
           este 1
           frio 1
           hace 1
           programar 1
           quiero 1

不知道我是否说得足够清楚,但我不是很精通英语,所以请原谅我.

提前致谢



1> Psidom..:

sorted与使用每个元组的反转版本的键一起使用,以降序排序第二个值,您可以-在前面添加一个否定值:

sorted(ocurrencias, key = lambda x: (-x[1], x[0]))
# [('invierno', 2), ('a', 1), ('aprender', 1), ('en', 1), ('este', 1), ('frio', 1), ('hace', 1), ('programar', 1), ('quiero', 1)]

正如@Jonathon评论的那样,其工作原因是由于列表和元组比较按顺序发生,即比较第一个元素; 如果不等于第二个元素,可以在python中查看有关对象比较的更多信息.

推荐阅读
jerry613
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有