gpt4 book ai didi

python - 根据键对python列表进行排序

转载 作者:太空狗 更新时间:2023-10-30 01:59:30 24 4
gpt4 key购买 nike

我在 python 列表中有一些条目。每个条目都有一个创建日期和创建时间。这些值存储为 python datetime.date 和 datetime.time(作为两个单独的字段)。我需要获取条目列表已排序,以便先前创建的条目排在其他条目之前。

我知道有一个接受键函数的 list.sort() 函数。在这种情况下,我是否必须使用日期和时间来创建日期时间并将其用作 sort()< 的键?为此有一个 datetime.datetime.combine(date,time)。但是我如何在排序函数中指定它呢?

我试过 key = datetime.datetim.combine(created_date,created_time)

但是解释器提示说 name created_date is not defined

class Entry: 
created_date = #datetime.date
created_time = #datetime.time
...

my_entries_list=[Entry1,Entry2...Entry10]
my_entries_list.sort(key = datetime.datetim.combine(created_date,created_time))

最佳答案

你可能想要这样的东西:

my_entries_list.sort(key=lambda v:
datetime.datetime.combine(v.created_date, v.created_time))

传递 datetime.datetime.combine(created_date, created_time) 尝试立即调用 combine 并在 created_datecreated_time 不可用作局部变量。 lambda 提供了延迟计算:它不是立即执行代码,而是创建一个函数,该函数将在调用时执行指定的代码并返回结果。该函数还提供将用于访问 created_datecreated_time 属性的参数。

关于python - 根据键对python列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14198382/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com