如何在python中按升序对第一列进行排序,如果相同则在降序中对第二列进行排序?

我有一个清单[('a',2),('h',5),('c',3),('h',4)]。我想以每个元组的第一个条目按升序排列的方式对其进行排序。如果有重复,则根据 Python 中降序排列的第二个元组条目。我想得到这个:

[('a',2),('c',3),('h',5),('h',4)]


温温酱
浏览 575回答 1
1回答

烙印99

由于元组中的第二个元素是数字(因此一元运算-符的有效操作数),您可以使用这个简单的键函数:lst = [('a', 2), ('h', 5), ('c', 3), ('h', 4)]sorted(lst, key=lambda x: (x[0], -x[1]))# [('a', 2), ('c', 3), ('h', 5), ('h', 4)]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python