av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

Python按照list dict key進(jìn)行排序過程解析

瀏覽:12日期:2022-07-31 08:31:08

在做項目的時候,遇到這樣的數(shù)據(jù):

'trends': [{ 'name': 'Rick Gates', 'promoted_content': null, 'query': '%22Rick+Gates%22', 'tweet_volume': 135732, 'url': 'http://twitter.com/search?q=%22Rick+Gates%22'},{ 'name': '#TheBachelorette', 'promoted_content': null, 'query': '%23TheBachelorette', 'tweet_volume': 91245, 'url': 'http://twitter.com/search?q=%23TheBachelorette'},{ 'name': '#KremlinAnnex', 'promoted_content': null, 'query': '%23KremlinAnnex', 'tweet_volume': 42654, 'url': 'http://twitter.com/search?q=%23KremlinAnnex'},{ 'name': '#LHHH', 'promoted_content': null, 'query': '%23LHHH', 'tweet_volume': 35252, 'url': 'http://twitter.com/search?q=%23LHHH'}]

我需要做的就是根據(jù)tweet_volume的數(shù)值對trends里的元素進(jìn)行排序。

實現(xiàn)代碼:

把上面數(shù)據(jù)以字典的方式獲取,相當(dāng)于把取出的就是后面的列表,即

trends=[{ 'name': 'Rick Gates', 'promoted_content': null, 'query': '%22Rick+Gates%22', 'tweet_volume': 135732, 'url': 'http://twitter.com/search?q=%22Rick+Gates%22'},{ 'name': '#TheBachelorette', 'promoted_content': null, 'query': '%23TheBachelorette', 'tweet_volume': 91245, 'url': 'http://twitter.com/search?q=%23TheBachelorette'},{ 'name': '#KremlinAnnex', 'promoted_content': null, 'query': '%23KremlinAnnex', 'tweet_volume': 42654, 'url': 'http://twitter.com/search?q=%23KremlinAnnex'},{ 'name': '#LHHH', 'promoted_content': null, 'query': '%23LHHH', 'tweet_volume': 35252, 'url': 'http://twitter.com/search?q=%23LHHH'}]trends = sorted(trends,key = lambda e:e[’tweet_volume’],reverse = True)

考慮到有些數(shù)據(jù)是NULL,因此需要提前做個處理,對于空的tweet_volume設(shè)置為0,完整代碼:

for item in trends: if(item.get(’tweet_volume’) is None): item[’tweet_volume’] = 0 trends = sorted(trends,key = lambda e:.get(’tweet_volume’) ,reverse = True)

建議用get方式獲取,空值或數(shù)據(jù)不存在這樣不會報錯。

在Python文檔中看到一種性能更高的方法

通過使用 operator 模塊的 itemgetter 函數(shù),可以非常容易的排序這樣的數(shù)據(jù)結(jié)構(gòu)

因此上面的程序可以改寫成

from operator import itemgetterfor item in trends: if(item.get(’tweet_volume’) is None): item[’tweet_volume’] = 0trends = sorted(trends,key = itemgetter(’tweet_volume’),reverse = True)

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 成在线人视频免费视频 | 一区二区三区av | 欧美精品久久一区 | 欧美性极品xxxx做受 | 综合国产 | 国产欧美一区二区三区久久手机版 | 亚洲人成网亚洲欧洲无码 | 蜜桃视频一区二区三区 | 97精品久久 | 午夜合集| 亚洲狠狠| 成人国产精品色哟哟 | 视频在线一区二区 | av网站免费观看 | 国产韩国精品一区二区三区 | 欧美日韩最新 | 欧美日韩三区 | 成人小视频在线免费观看 | 一区二区三区欧美在线观看 | 亚洲精品一区二区在线观看 | 视频在线一区二区 | 国产精品一二三区 | 中文字幕在线看第二 | 成人在线网址 | 中文字幕国产高清 | 久久精品免费看 | 免费网站国产 | 精品欧美二区 | 国产一级片 | 婷婷五月色综合 | 欧洲亚洲一区二区三区 | 国产日韩一区二区 | 色综合久久久久 | 国产专区免费 | 欧美视频一区二区三区 | 久久草在线视频 | 小川阿佐美pgd-606在线 | 一区二区三区四区在线视频 | 日韩在线视频一区二区三区 | 啪一啪在线视频 | 嫩草一区二区三区 |