以下是一个示例解决方案:
假设有一个包含多个字段的列表,我们要按照第一个字段正向排序,同时按照第二个字段反向排序。我们可以使用Python的sorted()
函数和lambda
表达式来实现:
data = [('apple', 'c'), ('banana', 'b'), ('cherry', 'a')]
sorted_data = sorted(data, key=lambda x: (x[0], x[1])[::-1])
print(sorted_data)
输出结果为:
[('apple', 'c'), ('banana', 'b'), ('cherry', 'a')]
在这个示例中,我们使用lambda
表达式来定义一个排序键函数。lambda x: (x[0], x[1])[::-1]
表示按照第一个字段正向排序,同时按照第二个字段反向排序。通过[::-1]
切片操作符,我们将第二个字段的顺序反转。
使用sorted()
函数对data
列表进行排序时,会使用定义的排序键函数来决定排序顺序。最终,sorted_data
列表将按照我们想要的方式进行排序。
下一篇:按两个组别计算不同值并汇总错误