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)])
  • 相关阅读:
    设置文字内容阴影效果
    android TouchEvent解析(2)
    后台运行 程序
    Intent 大全完整版
    URI URL的区别
    Java中List循环遍历的时候删除当前对象(自己)
    HDU 1005
    XML 导入 Sqlite 遇到的强大工具Navicat
    android eclipse开发环境 自动提示 程序无法响应解决方法
    DOM4J 递归解析xml文件
  • 原文地址:https://www.cnblogs.com/pinpin/p/10234125.html
Copyright © 2011-2022 走看看