zoukankan      html  css  js  c++  java
  • python的sorted相关

    Python 字典排序

    在python里,字典是内置的数据类型,是个无序的存储结构,每一个元素是key-value对:

    有关key的解释:

    sorted(L,key=by_name)中的key即by_name函数处理的是L这个列表
    的每个元素,所以by_name(t)的参数t就是L中的一个元素,
    比如说('Lili',75)。所以return t[0]返回的是这个元组的第一个元素,
    即名字Lili
    >>> d
    {9: 'xinzhou', 3: 'chen', 5: 'wuhan', 1: 'yadan'}
    
    >>> ss=sorted(d.items(),key=lambda d:d[0])            #主要看这里
    >>> ss
    [(1, 'yadan'), (3, 'chen'), (5, 'wuhan'), (9, 'xinzhou')]
    >>> d
    {9: 'xinzhou', 3: 'chen', 5: 'wuhan', 1: 'yadan'}
    
    >>> sss=sorted(d.items(),key=lambda d:d[1])
    >>> sss
    [(3, 'chen'), (5, 'wuhan'), (9, 'xinzhou'), (1, 'yadan')]
    >>> sss=sorted(d.items(),key=lambda d:d[1],reverse=True)    #主要看这里
    
    >>> sss
    [(1, 'yadan'), (9, 'xinzhou'), (5, 'wuhan'), (3, 'chen')]
    >>> sss=sorted(d.items(),key=lambda d:d[1],reverse=False)
    
    >>> sss
    [(3, 'chen'), (5, 'wuhan'), (9, 'xinzhou'), (1, 'yadan')]
    dict1={'A': 9, 'C': 5, 'B': 1, 'E': 14, 'D': 3, 'G': 3, 'F': 3, 'I': 9, 'H': 7, 'J': 1, 'L': 2, 'O': 8, 'N': 3, 'P': 4, 'S': 10, 'R': 5, 'U': 1, 'T': 17, 'W': 1, 'V': 1}
    #对字典按值排序,以元组的形式返回
    print sorted(dict1.iteritems(),key=lambda dict1:dict1[1],reverse=True)
    #对字典按键排序,以元组的形式返回
    print sorted(dict1.iteritems(),key=lambda dict1:dict1[0],reverse=False)

    参考下其他类型的排序:(估计python2)

    >>> student_tuples = [
            ('john', 'A', 15),
            ('jane', 'B', 12),
            ('dave', 'B', 10),
    ]
    >>> sorted(student_tuples, key=lambda student: student[2])   # sort by age
    [('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]

    例如:

    >>> a=[(5,"chen"),(3,"hang"),(7,"wang"),(4,"yadan")]
    >>> a
    [(5, 'chen'), (3, 'hang'), (7, 'wang'), (4, 'yadan')]
    >>> aa=sorted(a,key=lambda a:a[0],reverse=False)
    >>> aa
    [(3, 'hang'), (4, 'yadan'), (5, 'chen'), (7, 'wang')]
    >>> aaa=sorted(a,key=lambda a:a[1],reverse=False)
    >>> aaa
    [(5, 'chen'), (3, 'hang'), (7, 'wang'), (4, 'yadan')]

    dd

    Python 字典排序

    在python里,字典是内置的数据类型,是个无序的存储结构,每一个元素是key-value对:

    dict1={'A': 9, 'C': 5, 'B': 1, 'E': 14, 'D': 3, 'G': 3, 'F': 3, 'I': 9, 'H': 7, 'J': 1, 'L': 2, 'O': 8, 'N': 3, 'P': 4, 'S': 10, 'R': 5, 'U': 1, 'T': 17, 'W': 1, 'V': 1}
    #对字典按值排序,以元组的形式返回
    print sorted(dict1.iteritems(),key=lambda dict1:dict1[1],reverse=True)
    #对字典按键排序,以元组的形式返回
    print sorted(dict1.iteritems(),key=lambda dict1:dict1[0],reverse=False)
  • 相关阅读:
    如何使用shell脚本快速排序和去重文件数据
    centos7下搭建git和gitlab版本库
    Jenkins安装部署
    那日了狗的上半年的兼容性问题,下半年来解决。
    RecyclerView notifyDataSetChanged不起作用
    android通过BitmapFactory.decodeFile获取图片bitmap报内存溢出的解决办法
    java.lang.UnsatisfiedLinkError: Couldn't load hyphenate_av from loader dalvik.system.PathClassLoader
    android studio Error:java.lang.OutOfMemoryError: GC overhead limit exceeded
    apache https配置
    docker进入容器的方式
  • 原文地址:https://www.cnblogs.com/hanggegege/p/5925864.html
Copyright © 2011-2022 走看看