我有两个列表,每个列表都由一个对象组成date
.我试图将它们组合起来然后按日期排序:
combined = invoices + payments combined.sort(key = lambda x: x.date)
一切都很好.但是,如果在同一天同时存在invoice
对象和payment
对象,我希望将payment
其放在之前的列表中invoice
.
只需这样做:
combined = payments + invoices
python iterable.sort
方法保证稳定.(参见标准类型的python docs,5.6.4注9)
这意味着,如果有2种元素a
和b
您的列表,使得上key(a) == key(b)
,然后他们会继续它们的相对顺序(这意味着,如果a
之前被放置b
在未排序名单上,但它仍然会是这样,它的排序之后).