python – 如何过滤itertools chain()结果?

在我看来,
如果我导入一个itertools模块:

from itertools import chain

我用它链接一些对象:

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”?

不要惊讶,

ourtags = list(chain(franktags, amytags, timtags, erictags)).order_by('date_added')

返回“’列表’对象没有属性’order_by’”错误.

解决方法:

import operator

ourtags = sorted(ourtags, key=operator.attrgetter('date_added'))
上一篇:『深入学习 Spring Boot』——Bean 实例化流程


下一篇:Python列表列表的所有组合