【发布时间】:2020-01-21 00:32:35
【问题描述】:
我有一个包含类实例的列表,我想按日期对其进行排序,但我无法弄清楚如何做到这一点。它需要按升序排列。我正在处理的函数必须添加一个类的新实例,但要按时间顺序在列表中。
我尝试在列表中使用 for 循环并将新实例插入到它大于但只会导致我的最小实例翻倍的实例之前。 我也尝试过使用 .sort 方法,但我不确定如何使用它来实现。
1234562 的属性 = name, id, datetime('some date'),content
def add_new(self, new: class_name ) -> None:
"""Add new instance to class_list the for this class, if new_instance was posted at a
later date. Otherwise, do not add to class_list.
new_instances must be added in chronological order.
"""
if reply.date >= self.date:
self._class_list.append(reply)
self._class_list.sort(key = lambda x: )
我不确定要为 x 添加什么?由于类实例中的所有日期均采用 datetime('random date')
形式【问题讨论】:
-
为什么是 lambda??简单地使用 list.sort() 不起作用?
-
不,不是!因为日期是列表中类对象的 4 个实例属性之一
-
self._class_list.sort(key=lambda x:x[1])
标签: python list class sorting oop