关于python:基于时间戳值对对象进行排序

sorting an object based on its timestamp value

本问题已经有最佳答案,请猛点这里访问。

我有一个对象,它有多个值。它的一个字段是timestamp。创建对象时,我已将输入字符串转换为时间戳。

1
2
3
4
5
6
7
8
DATETIME_FORMAT = '%d-%b-%y %H.%M.%S.%f %p'

class CustomObject:
    def __init__(self, input_data):
        entry_list = [entry.strip() for entry in input_data.split(',')]
        self.field_one = entry_list[0]
        self.field_two = entry_list[1]
        self.field_timestamp = datetime.strptime(entry_list[2], DATETIME_FORMAT)

有一个EDOCX1[0]的列表,我想根据EDOCX1[1]进行排序。我该怎么做?

我研究的是sorted函数,但它采用lambda作为表达式。在这种情况下,我没有表达式,我只有一个字段将用于排序。怎么做?


1
sorted_list = sorted(list_of_CustomObject, key=lambda x: x.field_timestamp)

但实际上,您应该使用成员访问方法而不是公开的成员变量。