Python排序两个键两个顺序

标签 python python-3.x sorting

<分区>

情况是这样的,我有一个这样的列表:

[(1,a),(1,b),(5,c)]

我想对列表进行排序,使其首先取决于降序排列的数字,然后是升序排列的字符。

我试过:

sorted(theList, key = lambda x:(x[0], x[1]), reverse = True)

但是结果在两个键中都是按降序排列的。显然,反向只取一个变量 我在网上搜索但找不到解决方案。请帮忙!谢谢!

最佳答案

如果元组中的第一个元素是整数,则可以按其负值排序:

sorted(theList, key=lambda (num, letter): (-num, letter))

关于Python排序两个键两个顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39176918/

相关文章:

python - 从 plotly 保存图像

在 Ubuntu 终端中运行 Scrapy 时出现 Python3 错误 No module name 'attrs'

python-3.x - Python - 根据现有数据集生成相关数据集

c++ - 在 C++ 中使用冒泡排序对结构数组的成员进行排序

javascript - 根据类名对表行进行分组

python - 持续处理子进程中的大量 stdout 和 stderr

在本地运行时抛出 python-logstash 错误

Java CombSort 陷入无限循环?

python - 要在 python 中打印特定的文件夹名称?

javascript - 运行 Flask Web 服务器是否会阻止 Node.JS 中的 Web 抓取?