Skip to main content
 首页 » 编程设计

Python确保对象出现在列表的末尾

2025年05月04日9xxx_UU

我有一个作业类。这是包含一些示例作业的简化版本:

class Job: 
    def __init__(self, type): 
        self.type = type 
    def __repr__(self): 
        return '< %s >' % self.type 
 
job1 = Job('Copy') 
job2 = Job('Delete') 
job3 = Job('Scan') 
 
jobs = [job1,job2,job3] 

在我的应用程序中,作业被随机添加到jobs 列表(来自数据库),但我需要确保所有Delete 作业最后发生。我能想到的最简单的方法是确保将 Delete 作业移动到列表的末尾,然后按顺序处理列表。但是,当排序标准是类的属性时,我不确定该怎么做,并且是否可以保证在处理作业时列表将按顺序迭代?任何建议都会很棒。

请您参考如下方法:

jobs.sort(key=lambda x:x.type=="Delete") 

“复制”或“扫描”作业的键为 False,“删除”作业的键为 True。由于 True > False,“删除”作业将排序到末尾