按多列排序可以使用Python的内置函数sorted()来实现。可以通过传递一个lambda函数作为key参数来指定多列排序的条件。
以下是一个示例,假设我们有一个包含多个元组的列表,每个元组包含两个值:name(字符串)和age(整数)。我们将按照name进行升序排序,如果name相同,则按照age进行升序排序。
data = [("Alice", 25), ("Bob", 30), ("Alice", 20), ("Bob", 25), ("Charlie", 20)]
sorted_data = sorted(data, key=lambda x: (x[0], x[1]))
for item in sorted_data:
print(item)
输出结果:
('Alice', 20)
('Alice', 25)
('Bob', 25)
('Bob', 30)
('Charlie', 20)
在这个示例中,lambda函数(x[0], x[1])
指定了两个排序条件,首先按照第一个元素name排序,然后按照第二个元素age排序。使用sorted()函数对data列表进行排序,得到的结果保存在sorted_data列表中。最后,使用for循环遍历sorted_data列表并打印出结果。
你可以根据实际需要修改lambda函数中的排序条件和数据结构,来实现按多列排序的需求。
上一篇:按多列聚合,对一个列求和并保留其他列?基于聚合值创建新列。
下一篇:按多列筛选记录