按 publish_parsed 或 updated_parsed 对大量 rss 提要项目进行排序
Sorting a large list of rss feed items by publish_parsed or updated_parsed
我有一个很大的 rss 提要项目列表,我正试图按键 'published_parsed' 排序,如下所示:
allheadlines.sort(key=lambda hl:hl[0]['published_parsed'], reverse=True)
问题是这会返回一个键错误,因为某些 Feed 项目没有键 published_parsed。我尝试更改为 updated_parsed,但同样,某些提要项目没有密钥 updated_parsed。在下面给出的解决方案中交换两者后:
allheadlines.sort(key=lambda hl:hl[0].get('published_parsed', hl[0].get('updated_parsed')), reverse=True)
我还有一个问题。有一个 rss 提要不返回其中一个或两个键。我将如何对至少具有这些键中的一个的所有内容进行排序,并且对没有这些键中的任何一个的项目不执行任何操作。
尝试使用 dict.get
例如:
allheadlines.sort(key=lambda hl:hl[0].get('published_parsed', hl[0].get('updated_parsed')), reverse=True)
我有一个很大的 rss 提要项目列表,我正试图按键 'published_parsed' 排序,如下所示:
allheadlines.sort(key=lambda hl:hl[0]['published_parsed'], reverse=True)
问题是这会返回一个键错误,因为某些 Feed 项目没有键 published_parsed。我尝试更改为 updated_parsed,但同样,某些提要项目没有密钥 updated_parsed。在下面给出的解决方案中交换两者后:
allheadlines.sort(key=lambda hl:hl[0].get('published_parsed', hl[0].get('updated_parsed')), reverse=True)
我还有一个问题。有一个 rss 提要不返回其中一个或两个键。我将如何对至少具有这些键中的一个的所有内容进行排序,并且对没有这些键中的任何一个的项目不执行任何操作。
尝试使用 dict.get
例如:
allheadlines.sort(key=lambda hl:hl[0].get('published_parsed', hl[0].get('updated_parsed')), reverse=True)