我有以下dict http://uberlandia.com/papodebuteco/api/get_tag_posts/?tag_slug=uberlandiahome,我想只按日期提取最新的一个。{{3}}。使用python。
def get_posts(self):
r = requests.get('http://uberlandia.com/papodebuteco/api/get_tag_posts/?tag_slug=uberlandiahome',)
if r.ok:
data = json.loads(r.content.encode('UTF-8'))
for post in data['posts']:
print data['posts'] # If it was django I could do .latest(), but it's not.
print "==================================================="
title = post['title']
url = u'%s' % post['url']
print post['attachments'][0]['images']['full']['url']
print url
print u'%s'% post['date']
#dict = {'featured_post' : {'title' : title, 'url':url}}
else:pass
如何从此功能中按日期返回最新的帖子?
答案 0 :(得分:3)
使用max和lambda函数很容易:
from dateutil.parser import parse
latest = max(data['posts'], key=lambda x: parse(x['date']))
答案 1 :(得分:-3)
max函数需要一个关键参数!所以你可以这样做:
def keyfunction(v):
return parsedate(v["date"])
latest=max(yourdict["posts"],key=keyfunction))
关键参数非常有用,并且存在于很多内置函数中,例如min,max和sort。