美文网首页
python随手记(2) 使用sorted对dict按照key或

python随手记(2) 使用sorted对dict按照key或

作者: 银色尘埃010 | 来源:发表于2019-06-14 16:14 被阅读0次

    如何按照字典的key和value分别对dict进行排序。提供了一下几种方式:

    一、介绍sorted

    sorted 可以对所有可迭代的对象进行排序操作

    sorted(iterable,key, reverse),sorted一共有iterable,key,reverse这三个参数;
    
    iterable:可以迭代的对象,例如可以是dict.items()、dict.keys()等,
    
    key是一个函数,用来选取参与比较的元素
    
    reverse则是用来指定排序是倒序还是顺序,reverse=true则是倒序,reverse=false时则是顺序,默认时reverse=false。
    

    二、对dict进行排序

    1、通过dict的键(key)进行排序
    重点在:key=lambda x:x[0]

    dict_data={'a':9,'b':5,'c':11,'d':2,'e':6}
    result = sorted(dict_data.items(),key=lambda x:x[0])
    print(result)
    
    结果:
    [('a', 9), ('b', 5), ('c', 11), ('d', 2), ('e', 6)]
    

    2、通过dict的值(value)进行排序
    重点在:key=lambda x:x[1]

    dict_data={'a':9,'b':5,'c':11,'d':2,'e':6}
    result = sorted(dict_data.items(),key=lambda x:x[1])
    print(result)
    
    结果:
    [('d', 2), ('b', 5), ('e', 6), ('a', 9), ('c', 11)]
    

    三:在key中使用operator

    1、通过dict的键(key)进行排序
    重点在:key=operator.itemgetter(0)

    dict_data={'a':9,'b':5,'c':11,'d':2,'e':6}
    result = sorted(dict_data.items(),key=operator.itemgetter(0))
    print(result)
    
    结果:
    [('a', 9), ('b', 5), ('c', 11), ('d', 2), ('e', 6)]
    

    2、通过dict的值(value)进行排序
    重点在:key=operator.itemgetter(1)

    dict_data={'a':9,'b':5,'c':11,'d':2,'e':6}
    result = sorted(dict_data.items(),key=operator.itemgetter(1))
    print(result)
    
    结果:
    [('d', 2), ('b', 5), ('e', 6), ('a', 9), ('c', 11)]
    

    相关文章

      网友评论

          本文标题:python随手记(2) 使用sorted对dict按照key或

          本文链接:https://www.haomeiwen.com/subject/cwdpfctx.html