以下是一个示例代码,演示如何按照多个标签将任务按id排序:
# 定义任务类
class Task:
def __init__(self, id, labels):
self.id = id
self.labels = labels
# 定义任务列表
tasks = [
Task(1, ['标签1', '标签2']),
Task(2, ['标签2', '标签3']),
Task(3, ['标签1']),
Task(4, ['标签3']),
Task(5, ['标签2']),
]
# 定义排序函数
def sort_tasks_by_labels(tasks, label_order):
return sorted(tasks, key=lambda task: [label_order.index(label) for label in task.labels])
# 定义标签顺序
label_order = ['标签1', '标签2', '标签3']
# 按照标签顺序排序任务
sorted_tasks = sort_tasks_by_labels(tasks, label_order)
# 输出排序结果
for task in sorted_tasks:
print(f"任务ID: {task.id},标签: {task.labels}")
运行以上代码,将按照标签顺序['标签1', '标签2', '标签3']
对任务进行排序,并输出排序结果。
上一篇:按照独立的ID列求和。
下一篇:按照多个标准对对象数组进行排序