代码之家  ›  专栏  ›  技术社区  ›  Em Ae

根据对象的时间戳值对对象进行排序[重复]

  •  0
  • Em Ae  · 技术社区  · 7 年前

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

    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)
    

    这里有一份清单 CustomObject 我想根据它来排序 field_timestamp .我该怎么做?

    我在看 sorted 函数,但它接受lambda作为表达式。在这种情况下,我没有表达式,我只有一个字段,我将使用它进行排序。应该怎么做?

    1 回复  |  直到 7 年前
        1
  •  1
  •   user3148225    7 年前
    sorted_list = sorted(list_of_CustomObject, key=lambda x: x.field_timestamp)
    

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