python 根据字典中的key,value进行排序

Posted 天空是我喜欢的颜色

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 根据字典中的key,value进行排序相关的知识,希望对你有一定的参考价值。

#coding=utf-8

import requests,json,collections,base64,datetime
def sort(datas):
    data=json.dumps(datas)#dumps是将dict转化成str格式,loads是将str转化成dict格式。
    print u"data %s" % data
    data=json.loads(data)
    print  type(data)
    msg=data[msg] #获取msg中key,value
    print msg
    print  type(msg)
    keys=msg.keys()
    msgkv={}
    for  k,v  in msg.items():
        msgkv[k]=v
    print msgkv
    kv=sorted(msgkv.items(),key=lambda item:item[0])#现在是按照key首字母进行排序,如果想按照value进行排序只需要将item[0],改为item[1]
    #print u"排序之后的字典 %s" % kv
    kv2={}
    mg=""
    for  k,v  in kv:
        kv2[k]=v
        mg=mg+k+=+v+&
    mg=mg[:-1]
    #print u‘连接符& %s‘% mg
    print u"mg %s " % mg
    return mg
msg={
    "msg": {
        "transTime": "20170110000000",
        "name": "张三",
        "accType": "00",
        "cardNo": "622586842111132567",
        "cnaps": "123456",
        "bankName": "银行",
        "certType": "00",
        "certNo": "350128199525362156",
        "phoneNo": "13665588962",
        "transAmt": "1",
        "currency": "CNY",
        "backUrl":"http://xxx/xxx",
        "proceedUse": "代扣",
        "businessCode": "10400"
    },
    "merchCode": "898000001000001",
    "orderId": "000000000000001",
    "transCode": "600101",
    "signature": "ImdJA+kA7FkDrEQuWSmbPqFkSF7UyWMX0/udozVP2grNrJVqgXcUBAbEP0jHPeSKenKw9a9lrBbLivTemIIuDk/Xywap/+9TYz5jQwmO/DegIuvHAi9JY6J3orSCl0eHM+7wGydxNnqoOBZcST1GzzYgHBs9fmWYWtpkX6cnFBOfJ/vFXNbiSzI8byNSae2MMbn7RSr9ymCNxVrBIPtN9x6WtDtrTGo/5iW1ZOSb5mqxyA8dVnebTjwWEnGmdu2"
}
mg1=sort(msg)

 

以上是关于python 根据字典中的key,value进行排序的主要内容,如果未能解决你的问题,请参考以下文章

python 利用字典,根据要求的key值条件匹配对应value

python字典如何根据value返回对应的keys?value值不唯一

Python根据字典的value进行大小排序

python学习之第六篇:Python中的字典及其所具有的方法

18python基础学习-字典

Python中的字典