• 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)
  • 相关阅读:
    【转】MySQL导入数据乱码的分析与解决
    查看MySQL的warning
    修改MySQL字符集
    【转】PHP乱码问题,UTF8(乱码)
    马哥Linux——第一周作业
    马哥Linux——第二周作业
    .Net内部运行过程
    Html那些事
    面向对象图解、类型转换图解,写给.Net新手
    javascript对于DOM加强
  • 原文地址:https://www.cnblogs.com/hanggegege/p/5925864.html
Copyright © 2020-2023  润新知