精华内容
下载资源
问答
  • sorted函数python
    千次阅读 多人点赞
    2020-12-14 21:18:09

    博友们,你们好,很高兴能在这里和大家分享技术文章,我是 Amo Xiang,是一名在职企业员工,Amo 来源于上家公司的英文名,本意是 。作为刚入行几年互联网行业的小白,博主写博客一方面是为了记录自己的学习过程以及所犯的错误,更多的是希望能够帮助到很多处于起步阶段的萌新,让他们少走弯路。在编写文章时,参考了大量书籍及一些互联网大佬的资源,并结合了自己的工作经验,博主本着科学、严谨的态度、力求精益求精,但疏漏之处在所难免,敬请广大博友批评指正。博客主页:https://blog.csdn.net/xw1680?spm=1011.2124.3001.5113

    更多相关内容
  • python sorted函数详解

    2022-06-06 16:17:23
    sorted()函数可以对可迭代对象进行排序,并且可以人为指定排序的依据以及方式。

    sorted()函数可以对可迭代对象进行排序,并且可以人为指定排序的依据以及方式。

    先看下sorted() 帮助文档:

    >>>help(sorted)
    sorted(iterable, /, *, key=None, reverse=False)
        Return a new list containing all items from the iterable in ascending order.
        
        A custom key function can be supplied to customize the sort order, and the
        reverse flag can be set to request the result in descending order.
    

    可以看出sorted()函数一共有三个参数:可迭代对象,即需要排序的对象,以及两个可选参数keyreverse
    其中,key是排序的依据;reverse是指升序还是降序,默认升序列。
    看下具体例子,将一个字典内容按照value从大到小排列:

    exam_res = {
        'Mike':75,
        'Judy':88,
        'Cris':57
    }
    print(sorted(exam_res.items(),key=lambda i:i[1]))
    

    输出:

    [('Judy', 88), ('Mike', 75), ('Cris', 57)]
    

    这里可能有人有疑惑,为什么迭代对象是exam_res.items(),而不是字典本身。这里就要注意了,如果字典作为一个可迭代对象,本质上是对字典的key进行迭代;而exam_res.items()则是对字典中每一个key以及value包成的tuple进行迭代。可以测试一下:

    for i in exam_res:
        print(i)
    
    for i in exam_res.items():
        print(i)
    

    输出:

    Mike
    Judy
    Cris
    ('Mike', 75)
    ('Judy', 88)
    ('Cris', 57)
     
    

    所以,如果需要按照value进行排序,可迭代对象中必须含有value,因此需要使用exam_res.items()
    还有一点需要注意,给key传入的是一个函数,该函数就是排序的依据,函数可以自定义,也可以用匿名函数,函数的入参是每一个迭代的对象,对于上面的例子而言,第一次迭代时,匿名函数的入参i = ('Mike', 75),因此i[1]就代表取value

    展开全文
  • Python sorted函数及用法

    2022-03-24 12:32:44
    Python sorted函数及用法 sorted() 作为 Python 内置函数之一,其功能是对序列(列表、元组、字典、集合、还包括字符串)进行排序。 sorted() 函数的基本语法格式如下: list = sorted(iterable, key=None, reverse=...

    Python sorted函数及用法

    sorted() 作为 Python 内置函数之一,其功能是对序列(列表、元组、字典、集合、还包括字符串)进行排序。

    sorted() 函数的基本语法格式如下:

    list = sorted(iterable, key=None, reverse=False)  
    

    其中,iterable 表示指定的序列,key 参数可以自定义排序规则;
    reverse 参数指定以升序(False,默认)还是降序(True)进行排序。

    sorted() 函数会返回一个排好序的列表。

    注意,key 参数和 reverse 参数是可选参数,即可以使用,也可以忽略。

    下面程序演示了 sorted() 函数的基本用法:

    #对列表进行排序
    a = [5,3,4,2,1]
    print(sorted(a))
    #对元组进行排序
    a = (5,4,3,1,2)
    print(sorted(a))
    #字典默认按照key进行排序
    a = {4:1,\
         5:2,\
         3:3,\
         2:6,\
         1:8}
    print(sorted(a.items()))
    #对集合进行排序
    a = {1,5,3,2,4}
    print(sorted(a))
    #对字符串进行排序
    a = "51423"
    print(sorted(a))
    

    程序执行结果为:

    [1, 2, 3, 4, 5]
    [1, 2, 3, 4, 5]
    [(1, 8), (2, 6), (3, 3), (4, 1), (5, 2)]
    [1, 2, 3, 4, 5]
    ['1', '2', '3', '4', '5']
    

    再次强调,使用 sorted() 函数对序列进行排序, 并不会在原序列的基础进行修改,而是会重新生成一个排好序的列表。例如:

    #对列表进行排序
    a = [5,3,4,2,1]
    print(sorted(a))
    #再次输出原来的列表 a
    print(a)
    

    程序执行结果为:

    [1, 2, 3, 4, 5]
    [5, 3, 4, 2, 1]
    

    显然,sorted() 函数不会改变所传入的序列,而是返回一个新的、排序好的列表。

    除此之外,sorted()函数默认对序列中元素进行升序排序,通过手动将其 reverse 参数值改为 True,可实现降序排序。例如:

    #对列表进行排序
    a = [5,3,4,2,1]
    print(sorted(a,reverse=True))
    

    程序执行结果为:

    [5, 4, 3, 2, 1]
    

    另外在调用 sorted() 函数时,还可传入一个 key 参数,它可以接受一个函数,该函数的功能是指定 sorted() 函数按照什么标准进行排序。例如:

    chars=['http://www.baidu.com',\
           'http://www.baidu.com/python/',\
           'http://www.baidu.comt/shell/',\
           'http://www.baidu.com/java/',\
           'http://www.baidu.com/golang/']
    #默认排序
    print(sorted(chars))
    #自定义按照字符串长度排序
    print(sorted(chars,key=lambda x:len(x)))
    

    程序执行结果为:

    ['http://www.baidu.com',
     'http://www.baidu.com/golang/',
     'http://www.baidu.com/java/',
     'http://www.baidu.com/python/',
     'http://www.baidu.com/shell/']
    ['http://www.baidu.com',
     'http://www.baidu.com/java/',
     'http://www.baidu.com/shell/',
     'http://www.baidu.com/python/',
     'http://www.baidu.com/golang/']
    

    此程序中,使用了 lambda 表示式,其用法会在后续章节进行详细介绍。

    展开全文
  • 主要介绍了python中的lambda与sorted函数的相关资料,帮助大家更好的理解和学习python,感兴趣的朋友可以了解下
  • Pythonsorted函数的用法

    千次阅读 2021-07-15 15:05:04
    用built-in函数sorted进行排序(从2.4开始),返回副本,原始输入不变 --------------------------------sorted--------------------------------------- >>> help(sorted) Help on built-in f

    我们需要对List、Dict进行排序,Python提供了两个方法,对给定的List L进行排序.

    • 方法1.用List的成员函数sort进行排序,在本地进行排序,不返回副本
    • 方法2.用built-in函数sorted进行排序(从2.4开始),返回副本,原始输入不变
    --------------------------------sorted---------------------------------------
    >>> help(sorted)
    Help on built-in function sorted in module __builtin__:
    
    sorted(...)
        sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list
    ---------------------------------sort----------------------------------------
    >>> help(list.sort)
    Help on method_descriptor:
    
    sort(...)
        L.sort(cmp=None, key=None, reverse=False) -- stable sort *IN PLACE*;
        cmp(x, y) -> -1, 0, 1
    -----------------------------------------------------------------------------
    
    • iterable:是可迭代类型;
    • cmp:用于比较的函数,比较什么由key决定;
    • key:用列表元素的某个属性或函数进行作为关键字,有默认值,迭代集合中的一项;
    • reverse:排序规则. reverse = True 降序 或者 reverse = False 升序,有默认值。
    • 返回值:是一个经过排序的可迭代类型,与iterable一样。

    参数说明:

    (1) cmp参数

    cmp接受一个函数,拿整形举例,形式为:

    def f(a,b):
         return a-b
    

    如果排序的元素是其他类型的,如果a逻辑小于b,函数返回负数;a逻辑等于b,函数返回0;a逻辑大于b,函数返回正数就行了

    (2) key参数

    key也是接受一个函数,不同的是,这个函数只接受一个元素,形式如下

    def f(a):
         return len(a)
    

    key接受的函数返回值,表示此元素的权值,sort将按照权值大小进行排序

    (3) reverse参数

    接受False 或者True 表示是否逆序

    例子:
    (1)按照元素长度排序

    '''
    遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
    寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
    '''
    L = [{1:5,3:4},{1:3,6:3},{1:1,2:4,5:6},{1:9}]
    def f(x):
        return len(x)
    sort(key=f)
    print (L)
     
    #输出:
    [{1: 9}, {1: 5, 3: 4}, {1: 3, 6: 3}, {1: 1, 2: 4, 5: 6}]
    

    (2)按照每个字典元素里面key为1的元素的值排序

    L = [{1:5,3:4},{1:3,6:3},{1:1,2:4,5:6},{1:9}]
    def f2(a,b):
        return a[1]-b[1]
    L.sort(cmp=f2)
    print (L)
    

    1.对由tuple组成的List排序

    >>> students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10),]  
    

    用key函数排序:返回由tuple组成的list

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

    用cmp函数排序

    >>> sorted(students, cmp=lambda x,y : cmp(x[2], y[2])) # sort by age  
    [('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]  
    

    用 operator 函数来加快速度,

    >>> from operator import itemgetter, attrgetter  
    >>> sorted(students, key=itemgetter(2))  
    

    用 operator 函数进行多级排序

    >>> sorted(students, key=itemgetter(1,2))  # sort by grade then by age  
    [('john', 'A', 15), ('dave', 'B', 10), ('jane', 'B', 12)]  
    

    2. 对字典排序 ,返回由tuple组成的List,不再是字典。

    >>> d = {'data1':3, 'data2':1, 'data3':2, 'data4':4}  
    >>> sorted(d.iteritems(), key=itemgetter(1), reverse=True)  
    [('data4', 4), ('data1', 3), ('data3', 2), ('data2', 1)]  
    

    Python基础太难学?小编创建了一个Python学习交流QQ群:531509025,群里有大量基础入门知识,都是从零开始的,群里还有专业的人给你解答问题。寻找有志同道合的小伙伴,互帮互助,群里还有不错PDF电子书

    展开全文
  • Python中sort与sorted函数

    2019-11-15 19:28:42
    python中列表的内置函数sort()可以对列表中的元素进行排序,而全局性的sorted()函数则对所有可迭代的序列都是适用的; 并且sort()函数是内置函数,会改变当前对象,而sorted()函数只会返回一个排序后的当前...
  • 模拟python sorted()函数
  • python中的sort和sorted函数

    千次阅读 2020-11-08 15:47:33
    1、在python3中,sort是对于列表类型的排序函数函数原型为:L.sort(key=None, reverse=False),该方法没有返回值,是对列表的就地排序。 key-- 是指用来比较的关键字,可以说是列表元素的一个权值。key一般用来...
  • pythonsorted函数

    万次阅读 多人点赞 2018-09-21 15:22:06
    一、sort函数 如果对python中的列表进行排序,可以使用List类的成员函数sort,该函数会在原空间...sorted函数就比sort函数要强大许多了,sort只能对列表进行排序,sorted可以对所有可迭代类型进行排序,并且返回新的...
  • Python使用sorted函数对字典进行排序

    千次阅读 2019-08-09 11:04:19
    字典的排序:在学习python的时候,字典是一个无序的数据结构,一般都不对其进行排序的...sorted函数的介绍: sorted( iterable, key, reverse) (1)iterable:是可迭代类型的数据; (2)key:用列表元素的某个属性...
  • python sorted()函数的key参数

    千次阅读 2021-12-09 20:22:31
    1、sort() 是 list 的方法,只有 list 能用,而sorted() 是内置函数,可以对所有可迭代的对象进行排序操作;sort()在对列表排序时需要单独使用,sort()方法是在原地对列表排序,是对原列表的直接操作,并不会返回一...
  • Python中的排序函数--sorted()函数

    千次阅读 2021-11-13 07:45:18
    选择题 以下python代码输出什么? a = [2,3,1] sorted(a) print(a) A a B [3, 2, 1] C [2, 3, 1] D [1, 2, 3] ...2.sorted()函数是一个内置函数,可以直接使用。sorted()语法(应用于Python 3.x): so
  • Python基础之sorted()函数用法

    千次阅读 2022-04-08 19:40:39
    sorted函数可以对可迭代类型的容器内的数据进行排序 lst1 = (5,4,3,2,1) lst2 = ('F','D','Y','e','a','v')#字符串类型的排序按照ASCII的大小进行比较 L1 = sorted(lst1) L2 = sorted(lst2) print(L1) print(L2) >...
  • sorted 用于对集合进行排序(这里集合是对可迭代对象的一个统称,他们可以是列表、字典、set、甚至是字符串),它的功能非常强大 1、对列表排序,返回的对象不会改变原列表 list = [1,5,7,2,4] sorted(list) Out[87...
  • python】详解字典sorted函数(高级篇)

    千次阅读 2018-09-14 14:08:20
    在之前的一篇文章中:根据dict字典的键key或者值value排序,我们用到了sorted 如何进行按照键或者值进行排序,解决了字典的排序问题。本文将进一步详细介绍sorted的强大。 sorted 用于对集合进行排序(这里集合是对...
  • python中的sorted函数

    千次阅读 2020-05-08 09:49:20
    1.接使用sorted方法,返回一个列表就是排序好的 2.假如a是一个由元组构成的列表,这时候就麻烦了,我们需要用到参数key,也就是关键词,看下面这句命令,lambda是一个隐函数,是固定写法,不要写成别的单词;x表示...
  • Python sorted函数

    千次阅读 2020-12-17 02:17:08
    排序的核心是比较两个元素的大小,python中数字排序可以直接使用sorted函数,如果是字符串或者字典,直接比较数学上的大小是没有意义的。因此,比较过程必须通过函数抽象出来。通常规定,对于两个元素x和y,如果认为...
  • python中的lambda函数与sorted函数

    千次阅读 多人点赞 2019-10-06 22:32:20
    python中的lambda函数与sorted函数举例注意lambda常用使用场景1.函数式编程:2.Python中最常见的filter筛选、map小刷子、reduce合并,都可以用lambda表达式来生成sorted()函数排序1 简单列表(list)排序2 字典(dict)的...
  • 主要介绍了python sorted函数的小练习及解答,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 今天在刷leetcode的时候,对于179题返回最大数,用python2中的sorted(cmp)会很方便,但是在python3中这一参数被取消了,经过查找,发现应该借助functools中的cmp_to_key函数,直接贴代码 import functools def cmp...
  • 主要介绍了Python中sort和sorted函数代码解析,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
  • pythonsorted函数的详细使用方法

    万次阅读 多人点赞 2018-08-30 21:58:41
    sorted(iterable,cmp,key,reverse) 参数:iterable可以是list或者iterator; cmp是带两个参数的比较函数; key 是带一个参数的函数; reverse为False或者True; cmp比较 >>> list...
  • 文章目录sorted函数一、sort方法二、sorted内置函数三、情景引入filter类一、简单使用二、练习map类语法:一、简单使用二、练习reduce函数语法:一、简单使用二、设置初始值 Python中使用函数作为参数的内置函数和类...
  • 主要介绍了python使用sorted函数对列表进行排序的方法,涉及Python使用sorted函数的技巧,非常具有实用价值,需要的朋友可以参考下
  • 函数原型:sorted(iterable[,cmp,[,key[,reverse=True]]]),可选的参数有三个,cmp、key和reverse。 ②参数:第一个参数是一个iterable 1)cmp指定一个定制的比较函数,这个函数接收两个参数(iterable的元素),如果...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 79,062
精华内容 31,624
关键字:

sorted函数python