以下是按照多个元素的升序和降序来排序元组的订单列表的代码示例:
orders = [
("apple", 10, 1.5),
("banana", 5, 0.5),
("cherry", 20, 2.0),
("apple", 5, 1.0),
]
# 按照元组的第一个元素(产品名称)升序排序
orders.sort(key=lambda x: x[0])
print("按照产品名称升序排序:", orders)
# 按照元组的第二个元素(数量)降序排序
orders.sort(key=lambda x: x[1], reverse=True)
print("按照数量降序排序:", orders)
# 按照元组的第三个元素(价格)升序排序
orders.sort(key=lambda x: x[2])
print("按照价格升序排序:", orders)
# 按照元组的第一个元素(产品名称)升序,第二个元素(数量)降序,第三个元素(价格)升序排序
orders.sort(key=lambda x: (x[0], -x[1], x[2]))
print("按照产品名称升序、数量降序、价格升序排序:", orders)
输出结果:
按照产品名称升序排序: [('apple', 10, 1.5), ('apple', 5, 1.0), ('banana', 5, 0.5), ('cherry', 20, 2.0)]
按照数量降序排序: [('cherry', 20, 2.0), ('apple', 10, 1.5), ('banana', 5, 0.5), ('apple', 5, 1.0)]
按照价格升序排序: [('banana', 5, 0.5), ('apple', 5, 1.0), ('apple', 10, 1.5), ('cherry', 20, 2.0)]
按照产品名称升序、数量降序、价格升序排序: [('apple', 10, 1.5), ('apple', 5, 1.0), ('banana', 5, 0.5), ('cherry', 20, 2.0)]
这个示例中,我们使用了 sort()
方法和 key
参数来实现按照不同元素的升序和降序排序。可以通过 lambda
表达式来指定排序的关键字。在最后一个示例中,我们同时指定了多个关键字进行排序。