Python 按时间值切片结果列表

Python 按时间值切片结果列表,python,google-app-engine,Python,Google App Engine,我得到了一个结果列表,希望保留比timeline更新、比bookmark旧的元素。有没有比迭代整个列表并删除匹配条件的元素更方便的方法?你能给我介绍一下具体情况吗?我获取数据然后对其排序的方式 results = A.all().search(self.request.get('q')).filter("published =", True) results = sorted(results, key=lambda x: x.modified, reverse=True) 然后我想保留比boo

我得到了一个结果列表,希望保留比timeline更新、比bookmark旧的元素。有没有比迭代整个列表并删除匹配条件的元素更方便的方法?你能给我介绍一下具体情况吗?我获取数据然后对其排序的方式

results = A.all().search(self.request.get('q')).filter("published =", True)
results = sorted(results, key=lambda x: x.modified, reverse=True)
然后我想保留比bookmark旧、比timeline新的元素,其中这些变量由httpget定义,如果为空,则定义为

bookmark = datetime.now()
timeline = datetime.now () - timedelta (days = 50)
我希望您能理解我的意图(就像寻呼一样),并提前感谢您的任何想法。

这是什么

bookmark = datetime.now()
timeline = datetime.now () - timedelta (days = 50)


results = A.all().search(self.request.get('q')).filter("published =", True)
results = results.filter( modified__gte=bookmark ).filter( modified__lte=timeline )
results = sorted(results, key=lambda x: x.modified, reverse=True)

还是这个

bookmark = datetime.now()
timeline = datetime.now () - timedelta (days = 50)

results = A.all().search(self.request.get('q')).filter("published =", True)
results = [ r for r in results if r.modified >= bookmark and r.modified <= timeLine ]
results = sorted(results, key=lambda x: x.modified, reverse=True)
bookmark=datetime.now()
timeline=datetime.now()-timedelta(天=50)
results=A.all().search(self.request.get('q')).filter(“published=,True)
results=[r表示结果中的r,如果r.modified>=书签,并且r.modified这个


还是这个

bookmark = datetime.now()
timeline = datetime.now () - timedelta (days = 50)

results = A.all().search(self.request.get('q')).filter("published =", True)
results = [ r for r in results if r.modified >= bookmark and r.modified <= timeLine ]
results = sorted(results, key=lambda x: x.modified, reverse=True)
bookmark=datetime.now()
timeline=datetime.now()-timedelta(天=50)
results=A.all().search(self.request.get('q')).filter(“published=,True)

results=[r for r in results if r.modified>=bookmark,r.modified如果您使用SearchableModel并执行搜索查询(从代码段中可以看出您是这样的),在不要求分解索引的情况下,您无法应用排序顺序或不平等过滤器,正如您在本主题的上一个问题中所确定的。因此,您不能将这些过滤器作为查询的一部分应用-因此,手动筛选结果是您最好(也是唯一)的选择。

如果您使用SearchableModel并执行搜索查询(从代码片段中可以看出,您是这样的人),您无法应用排序顺序或不等式过滤器,而不需要像您在上一个主题问题中所确定的那样分解索引。因此,您不能将这些过滤器作为查询的一部分来应用,因此手动过滤结果是您的最佳选择(并且仅此)选项。

它看起来应该可以在开发服务器上运行,但会引发my TypeError:filter()得到一个意外的关键字参数“modified_ugte”。我如何继续?他没有使用Django。这就是为什么您的示例不起作用。它使用lambda或上面的条件for语句起作用。谢谢。它看起来应该在开发服务器上起作用。它引发了我的TypeError:filter()得到一个意外的关键字参数“modified_ugte”。我如何继续?他没有使用Django。这就是为什么您的示例不起作用。它使用lambda或上面的条件for语句起作用。谢谢