日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

Python-按照list中dict的某个key进行排序

發(fā)布時間:2024/4/15 python 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python-按照list中dict的某个key进行排序 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1、list of dict數(shù)據(jù)結(jié)構(gòu)說明:

?"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"}]

2、排序目標(biāo):

根據(jù)tweet_volume的數(shù)值對trends里的元素進(jìn)行排序。

3、實現(xiàn)代碼:

以下4種方式都可以,第4中性能更好

1)trends = sorted(trends,key = lambda e:e['tweet_volume'],reverse = True) 2)trends = sorted(trends,key = lambda e:e.get('tweet_volume'),reverse = True)) 3)trends = sorted(trends,key = lambda e:e.__getitem__('tweet_volume'),reverse = True)) 4)trends = sorted(trends,key = itemgetter('tweet_volume'),reverse = True)

說明:

  • 我在dict中選擇key的時候,選擇的是e['tweet_volume']這樣的索引方式,你也可以選擇e.get('tweet_volume')或者e.__getitem__('tweet_volume')這樣的方式去獲取key的值
  • 通過使用?operator?模塊的?itemgetter?函數(shù),可以非常容易的排序這樣的數(shù)據(jù)結(jié)構(gòu),使用時需要from operator import itemgetter
  • 4、sotred()函數(shù)原型:

    sorted(iterable[,key][,reverse])

    iterable:需要排序的變量(必填)

    key:指定排序的元素

    reverse:指定是否逆序,默認(rèn)為false

    具體可參考上篇文章:Dist類系列(一):根據(jù)字典的key值、value值進(jìn)行排序

    5、lambda:匿名函數(shù),一般形式為

    lambda arguments: expression

    6、考慮到有些數(shù)據(jù)是NULL,因此需要提前做個處理:

    對于空的tweet_volume設(shè)置為0,完整代碼:

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

    ?

    超強干貨來襲 云風(fēng)專訪:近40年碼齡,通宵達(dá)旦的技術(shù)人生

    總結(jié)

    以上是生活随笔為你收集整理的Python-按照list中dict的某个key进行排序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。