【发布时间】:2016-08-26 23:15:00
【问题描述】:
我已经检查了所有其他关于此的帖子,但没有一个可以解决我的问题。
我创建了一个包含带有 id 和 datetime 对象的元组的列表。每次我尝试清理列表时:
last_encounters = [item for item in last_encounters if item[1] < datetime.utcnow]
我收到'datetime.datetime' object is not subscriptable 的错误。越来越烦人了,我试过 dicts.. 没用。
还测试了项目[1],根据我的打印,它是一个日期时间。
即使尝试将其更改为 (x,y) for x,y in last_encounters if y < ... 也不起作用。
一些有用的代码:
list = []
d_t = datetime.utcfromtimestamp(9000000)
list += [('lel', d_t)]
list = [item for item in list if item[1] < datetime.utcnow]
我希望有人能告诉我我在这里做错了什么。
提前致谢,
凯文
【问题讨论】:
-
您发布的代码根本不会产生您描述的错误:
last_encounters为空,因此列表 comp 仅返回一个空列表。请发帖minimal reproducible example。 -
我只添加了实际修改列表的代码。我假设它不会循环一个空列表?我打印了值,它根本不是空的。我向我展示了元组项中的值,其中第二个肯定是日期时间。
-
在您发布的代码中,第一行将
last_encounters设置为一个空列表。如果这不是您的列表在达到列表理解时包含的内容,您需要发布 that。 -
那是我初始化列表的地方。我将更改顺序,因为它不是按照这个特定的顺序完成的。首先它创建列表。然后它添加它,然后循环遍历它,给出错误。
标签: python python-2.7 datetime tuples