zoukankan      html  css  js  c++  java
  • 练习五十九:字典排序

    题目:对字典进行有序排序,分别根据字典的key或字典的value

    dis1 = {'banana':3,'pic':2,'apple':4,'orange':5}
    #方法一:
    print(sorted(dis1.items(),key = lambda x:x[1]))
    print(sorted(dis1.items(),key = lambda x:x[0]))
    
    #方法二: operator模块
    import operator
    print(sorted(dis1.items(),key = operator.itemgetter(1)))
    print(sorted(dis1.items(),key = operator.itemgetter(0)))
    
    #方法三:xip方法
    print('-----zip方法:zip函数默认会对第一个元素进行排序的-----')
    f = zip(dis1.keys(),dis1.values()) #zip 之后,zip函数默认会对第一个元素进行排序的
    g = zip(dis1.values(),dis1.keys())
    print(sorted(f))
    print(sorted(g))

    #方法四:
    import collections
    kd = collections.OrderedDict(sorted(dis1.items(),key = lambda x:x[1]))
    print(kd)
    vd = collections.OrderedDict(sorted(dis1.items(),key = lambda x:x[0]))
    print(vd)

    执行结果:

    [('pic', 2), ('banana', 3), ('apple', 4), ('orange', 5)]
    [('apple', 4), ('banana', 3), ('orange', 5), ('pic', 2)]
    [('pic', 2), ('banana', 3), ('apple', 4), ('orange', 5)]
    [('apple', 4), ('banana', 3), ('orange', 5), ('pic', 2)]
    -----zip方法:zip函数默认会对第一个元素进行排序的-----
    [('apple', 4), ('banana', 3), ('orange', 5), ('pic', 2)]
    [(2, 'pic'), (3, 'banana'), (4, 'apple'), (5, 'orange')]
    OrderedDict([('pic', 2), ('banana', 3), ('apple', 4), ('orange', 5)])
    OrderedDict([('apple', 4), ('banana', 3), ('orange', 5), ('pic', 2)])
  • 相关阅读:
    Python的可变和不可变类型
    Pycharm设置语法规范快捷键方式
    python学习0305作业
    关于jQuery对象与DOM对象
    ie6下子元素撑大父元素
    Hibernate持久层ORM框架
    基于注解的事务管理
    掌握基于AOP事务管理
    Spring事务管理
    事务保存点savepoint
  • 原文地址:https://www.cnblogs.com/pinpin/p/10234125.html
Copyright © 2011-2022 走看看