我会说到这一点,我有这个:
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
不知道我是否说得足够清楚,但我不是很精通英语,所以请原谅我.
提前致谢
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中查看有关对象比较的更多信息.