MFB*_*MFB 1 python sorting list
我有一个Job课程.这是一个包含一些示例作业的简化版本:
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]
Run Code Online (Sandbox Code Playgroud)
在我的应用程序中,作业jobs有点随机地添加到列表(从数据库),但我需要确保任何Delete作业最后发生.我能想到的最简单的方法是确保将Delete作业移动到列表的末尾,然后按顺序处理列表.但是,当排序条件是类的属性时,我不确定如何做到这一点,并且是否有任何保证在处理作业时按顺序迭代列表?任何建议都会很棒.
jobs.sort(key=lambda x:x.type=="Delete")
Run Code Online (Sandbox Code Playgroud)
键将False用于"复制"或"扫描"作业以及True"删除"作业.因为True> False"删除"作业将被排序到最后