折腾:
【未解决】自动化搜索和提取安卓游戏网站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
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)
即可。