《LearnPython-Python学习笔记》-pythonlist的两种排序方法

admin 2025-11-07 00:57:27 编程 来源:ZONE.CI 全球网 0 阅读模式

    python提供了对list排序两种方法1.使用list内建函数sort排序list.sort(key=None,reverse=False)eg:

    1. In [57]: l=[27,47,3,42,19,9]
    2. In [58]: l.sort()
    3. In [59]: l
    4. Out[59]: [3, 9, 19, 27, 42, 47]

    上面这种是直接对l列表里面的元素排序,sort()函数还提供了一个key参数,这个参数的值是一个函数,这个函数只能有一个返回值,且返回值用来进行比较。 这个技术是快速的因为key指定的函数将准确地对每个元素调用。

    1. In [53]: L = [('b',6),('a',1),('c',3),('d',4)]
    2. In [54]: L.sort(key=lambda x:x[1])
    3. In [56]: L
    4. Out[56]: [('a', 1), ('c', 3), ('d', 4), ('b', 6)]

    上面那段话,再结合这个例子,我是这样理解的:匿名函数lambda x:x[1]相当于:

    1. def f(x):
    2. return x[1]

    key参数接受列表L里的每个元素的第二个参数,根据第二个参数的排序,确定整体的排序。也就是说,设置了key参数后,key接收的值代表了整体,排序的标准就变成了对key所接收的值进行排序。

    2.使用python内置函数sorted排序sorted方法和sort方法很相似,不同的是,sorted不改变原来的列表,并返回一个排好序的列表。而list.sort()是改变了原有的列表。还有就是,list.sort()只能对列表排序,而sorted()可以对其他数据结构排序。

    1. In [62]: l=[27,47,3,42,19,9]
    2. In [63]: sorted(l)
    3. Out[63]: [3, 9, 19, 27, 42, 47]

    sorted方法同样可以用key参数,用法也是一样的。

    1. In [68]: data=[{'name':'Abbie','score':99},{'name':'Ivy','score':80}]
    2. In [69]: sorted(data,key=lambda x:x['score'])
    3. Out[69]: [{'name': 'Ivy', 'score': 80}, {'name': 'Abbie', 'score': 99}]

    参考文章:http://www.cnblogs.com/whaben/p/6495702.html

    https://blog.csdn.net/weixin_37923128/article/details/80970466

    以太坊cppgolang区别 编程

    以太坊cppgolang区别

    以太坊是一种去中心化的开源平台,它采用智能合约技术,旨在构建和运行不受干扰的分布式应用程序。作为目前最受欢迎的区块链平台之一,以太坊提供了多种编程语言的支持,其
    progolang 编程

    progolang

    Go语言(Golang)是由Google开发的一门静态类型编程语言。作为一名专业的Golang开发者,我深知这门语言的优势和特点。在本文中,我将介绍Golang
    golangn个发送者 编程

    golangn个发送者

    Golang是一种开源的编程语言,由Google团队开发,旨在提高程序的并发性和简化软件开发过程。在Go语言中,有时需要向多个接收者发送信息。本文将介绍如何在G
    golang技能图谱 编程

    golang技能图谱

    从互联网行业的快速发展到人工智能技术的日益成熟,各种编程语言也应运而生。而在这众多的编程语言中,Golang(即Go)作为一门强大且高效的开发语言备受关注。Go
    评论:0   参与:  7