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