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)])
  • 相关阅读:
    判断jquery.表单验证插件是否通过验证的解决办法
    查看网站收录情况
    js面向对象基础拾遗
    查看显卡信息的DOS命令
    关于OR Mapping
    推荐两篇文章
    读书
    测试开发驱动实践
    粗略看Hibernate的代码
    开发源码的数据库群集中间件 CJDBC
  • 原文地址:https://www.cnblogs.com/pinpin/p/10234125.html
Copyright © 2011-2022 走看看