最新消息:20210917 已从crifan.com换到crifan.org

【已解决】给每个元素都是json字典的一个列表中根据其中download下载量字段去排序

排序 crifan 417浏览 0评论
折腾:
【未解决】自动化搜索和提取安卓游戏网站game.vivo.com.cn中游戏信息列表
期间,现在有个python的list其中每个元素都是一个dict json字典,其中有个download下载量的字段
希望通过根据下载量字段去给list排序
[
  {
    "id": 69090,
    "pkgName": "com.aligames.sgzzlb.vivo",
    "fastGame": 0,
    "name": "三国志・战略版-自选赛季开启",
    "icon": "http://apk.wsdl.vivo.com.cn/appstore/developer/icon/20201120/202011201550466x48q.png",
    "size": 521799,
    "apkurl": "http://dl.gamecenter.vivo.com.cn/clientRequest/gameDownload?id=69090&pkgName=com.aligames.sgzzlb.vivo&sourword=%E4%B8%89%E5%9B%BD&page_index=1&dlpos=1&channel=h5",
    "recommend_desc": "千万战略家的真实战场!",
    "first_pub": "0",
    "official": "1",
    "activity": "0",
    "gift": "0",
    "versionCode": "2008",
    "download": 28602420,
    "type": "经营策略",
    "gameTag": "战争策略",
    "fitModel": true,
    "threeDimension": "0",
    "comment": 4.1,
    "traceData": {
      "upId": "69090",
      "upSourword": "三国",
      "sct": "20201124171636",
      "stype": 27,
      "ssk": "fa182bedc9696f9D20836f1a96209Rfdcb6",
      "upSct": "20201124171636",
      "ssp": 10,
      "upStype": "27",
      "upImei": "865407010000099",
      "upDlpos": "1",
      "sfrom": "local",
      "upPageindex": "1",
      "sskv": "1"
    },
    "realApkUrl": "https://gameapktxdl.vivo.com.cn/appstore/developer/soft/20201021/202010211640103m1be.apk"
  },
  {
    "id": 73936,
    "pkgName": "com.youzu.ss0.vivo",
    "fastGame": 0,
    "name": "少年三国志:零-送顶级阵容全武将",
    "icon": "http://apk.wsdl.vivo.com.cn/appstore/developer/icon/20201117/2020111715042520lhz.jpg",
    "size": 1235590,
    "apkurl": "http://dl.gamecenter.vivo.com.cn/clientRequest/gameDownload?id=73936&pkgName=com.youzu.ss0.vivo&sourword=%E4%B8%89%E5%9B%BD&page_index=1&dlpos=2&channel=h5",
    "recommend_desc": "扭转乾坤,运筹帷幄",
    "first_pub": "0",
    "official": "1",
    "activity": "0",
    "gift": "1",
    "versionCode": "10001",
    "download": 3791748,
    "type": "经营策略",
    "gameTag": "战争策略",
    "fitModel": true,
    "threeDimension": "0",
    "comment": 3.6,
    "traceData": {
      "upId": "73936",
      "upSourword": "三国",
      "sct": "20201124171636",
      "stype": 0,
      "ssk": "1e2a270f7fde191D30ff204d58fbbRb5e40",
      "upSct": "20201124171636",
      "ssp": 10,
      "upStype": "0",
      "upImei": "865407010000099",
      "upDlpos": "2",
      "sfrom": "local",
      "upPageindex": "1",
      "sskv": "1"
    },
    "realApkUrl": "https://gameapkbddl.vivo.com.cn/appstore/developer/soft/20201104/202011041221481af6y.apk"
  },
。。。
python dict list sort
python – How do I sort a list of dictionaries by a value of the dictionary? – Stack Overflow
newlist = sorted(list_to_be_sorted, key=lambda k: k['name'])
但是此处是:需要从大到小排序
newlist = sorted(l, key=itemgetter('name'), reverse=True)
去试试
    allAppInfoList = sorted(allAppInfoList, key=lambda k: k['download'], reverse=True)
结果:
可以的
排序前:
下载量是:
download=28602420=2860万
排序后:
可见大部分元素位置都变化了。
第一个内容是:
下载量是
download=41805393=4180万
第二个是3000万+
是对的。
【总结】
此处最后给dict的list,其中希望根据dict中download字段(int值)去由高到低排序,代码是:
allAppInfoList = sorted(allAppInfoList, key=lambda k: k['download'], reverse=True)
即可。

转载请注明:在路上 » 【已解决】给每个元素都是json字典的一个列表中根据其中download下载量字段去排序

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
91 queries in 0.198 seconds, using 23.38MB memory