首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何过滤itertools chain()结果?

如何过滤itertools chain()结果?
EN

Stack Overflow用户
提问于 2009-07-15 04:00:26
回答 2查看 4.6K关注 0票数 4

在我的视图中,如果我导入一个itertools模块:

代码语言:javascript
复制
from itertools import chain

我用它链接了一些对象:

代码语言:javascript
复制
franktags = Frank.objects.order_by('date_added').reverse().filter(topic__exact='art') 
amytags = Amy.objects.order_by('date_added').reverse().filter(topic__exact='art') 
timtags = Tim.objects.order_by('date_added').reverse().filter(topic__exact='art') 
erictags = Eric.objects.order_by('date_added').reverse().filter(topic__exact='art')

ourtags = list(chain(franktags, amytags, timtags, erictags))

那么我如何通过"date_added“来排序"ourtags”呢?

不是出人意料的,

代码语言:javascript
复制
ourtags = list(chain(franktags, amytags, timtags, erictags)).order_by('date_added')

返回"'list‘对象没有’order_by‘属性“错误。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-07-15 04:15:10

代码语言:javascript
复制
import operator

ourtags = sorted(ourtags, key=operator.attrgetter('date_added'))
票数 14
EN

Stack Overflow用户

发布于 2009-07-15 04:13:54

至此,您已经将所有对象加载到内存和列表中。只需像对任何旧Python列表一样对列表进行排序即可。

代码语言:javascript
复制
>>> import operator
>>> ourtags.sort(key=operator.attrgetter('date_added'))
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1129344

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档