首页 > 编程语言 >python利用小列表中元素排序对整个大列表中的小列表进行排序

python利用小列表中元素排序对整个大列表中的小列表进行排序

时间:2023-07-17 09:55:46浏览次数:42  
标签:函数 python Big 元素 列表 sorted 排序

一、了解sorted() 函数

sorted() 函数是Python内置的用于排序可迭代对象的函数,它可以接受多个参数来进行灵活的排序操作。下面是对sorted()函数的参数要求和使用方法的详细说明:

  1. 参数列表:

    • iterable(必需):表示要进行排序的可迭代对象,例如列表、元组、集合等。
    • key(可选):指定一个函数,该函数将应用于每个元素,用于生成排序的依据。默认为None,此时使用元素本身作为排序依据。
    • reverse(可选):表示是否按照降序进行排序。默认为False,即升序排序。
  2. 返回值: sorted() 函数的返回值是一个新的已排序的列表。

  3. 使用方式:

    • 最简单的用法是只传入待排序的可迭代对象,例如 sorted(iterable),此时会按照元素的默认顺序进行排序。
    • 如果需要按照特定的条件进行排序,可以使用 key 参数来指定一个函数,该函数接受一个元素作为参数,并返回用于排序的依据。例如 sorted(iterable, key=lambda x: x[0]) 表示按照元素的第一个元素进行排序。
    • 如果需要按照降序进行排序,可以将 reverse 参数设置为True,例如 sorted(iterable, reverse=True) 表示按照降序排序。

需要注意的是,sorted() 函数并不会改变原始的可迭代对象,而是返回一个新的已排序的列表。如果需要对原始可迭代对象进行排序,可以使用 list.sort() 方法。

二、应用实例

Big = [[27852, 263, 0.1], [278554, 253, 0.1], [27857, 283, 0.3], [27855, 273, 0.2]]

# 根据小列表的第三个元素进行排序
sorted_big = sorted(Big, key=lambda x: x[2],reverse = True)

以上代码是假设存在一个名为Big的列表,代码通过lambda函数以大列表中每个小列表的第3个元素作为排序的依据,从大到小对Big进行排序。

首先,lambda函数 lambda x: x[2] 表示一个匿名函数,它接受一个参数x,并返回x的第三个元素值x[2]作为排序依据。

然后,sorted() 函数被调用,传入两个参数:要排序的列表 Big和排序的依据 key=lambda x: x[2]key 参数指定了排序的依据,在这里是列表中每个元素的第三个元素。

最后,reverse=True 参数用来指定排序顺序为从大到小,如果不指定,默认排序顺序为从小到大。

排序后的结果将被存储在一个名为sorted_big的新列表中。

三、扩展——多级列表

Big = [[27852, 263, 0.1,[3,2,1]], [278554, 253, 0.1,[0,5,2]], [27857, 283, 0.3,[1,1,0]], [27855, 273, 0.2,[7,8,9]]]

# 根据子列表的第四个元素(孙列表)的第三位,从大到小,对Big列表进行排序
sorted_big = sorted(Big, key=lambda x: x[3][2], reverse=True)

print(sorted_big)

  依托lambda表达式,深入访问列表,确定key值,进行列表排序。

标签:函数,python,Big,元素,列表,sorted,排序
From: https://www.cnblogs.com/babashi9527/p/17559191.html

相关文章

  • 常用语言的线程模型(Java、go、C++、python3)
    背景知识软件是如何驱动硬件的?硬件是需要相关的驱动程序才能执行,而驱动程序是安装在操作系统内核中。如果写了一个程序A,A程序想操作硬件工作,首先需要进行系统调用,由内核去找对应的驱动程序驱使硬件工作。而驱动程序怎么让硬件工作的呢?驱动程序作为硬件和操作系统之间的媒介,可以......
  • Python | requests库
    一、基本概念1、简介requests模块是python基于urllib,采用Apache2Licensed开源协议的HTTP库。它比urllib更加方便,可以节约我们大量的工作,完全满足HTTP测试需求。Requests的哲学是以PEP20的习语为中心开发的,所以它比urllib更加Pythoner。2、获取通过pip......
  • subprocess Python执行系统命令最优选模块
    简介subprocess是Python中执行操作系统级别的命令的模块,所谓系级级别的命令就是如ls/etc/userifconfig等和操作系统有关的命令。subprocess创建子进程来执行相关命令,并连接它们的输入、输出和错误管道,获取它们的返回状态。subprocess来源Subprocess模块开发之前,标准......
  • Python报错 | 关于requests.exceptions.SSLError解决方案
    学习爬虫遇到的错误。报错信息:requests.exceptions.SSLError:HTTPSConnectionPool(host=’*****’,port=443):Maxretriesexceededwithurl:/(CausedbySSLError(“Can’tconnecttoHTTPSURLbecausetheSSLmoduleisnotavailable.”))解决方法:检查是否已安装......
  • python: xmlhelper
     xml:<?xmlversion="1.0"?><data><countryname="Liechtenstein"><rank>1</rank><year>2008</year><gdppc>141100</gdppc><neighborname=&quo......
  • python - 串口通讯
    1.安装pyserialpip3installpyserial2.使用方式config.pyimportserialport="COM1"baudrate=2400bytesize=serial.SEVENBITSstopbits=serial.STOPBITS_TWOparity=serial.PARITY_NONEtimeout=10main.pyimportserialimportconfigser=s......
  • [译]使用Python和Dash 创建一个仪表盘(上)
    介绍在数据科学和分析的领域,数据能力的释放不仅是通过提取见解的方式,同时也要能通过有效的方式来传达见解.这就是数据可视化发挥见解的地方.数据可视化是信息和数据的可视化呈现.它使用可视化元素,如图表、图形、地图,使其更容易看懂原始数据中的模式、趋势及异常值.对于数......
  • Python【3】有序字典 OrderdDict
    有序字典可以按字典中元素的插入顺序来输出。参考https://www.cnblogs.com/lowmanisbusy/p/10257360.htmlimportcollectionsmy_order_dict=collections.OrderedDict()my_order_dict["name"]="lowman"my_order_dict["age"]=45my_order_dict["money&......
  • 使用python在视频流网站下载ts视频流并合并为完整视频
    #!/usr/bin/python#encoding:utf-8importurllib.requestimportosimportssl#addline1ssl._create_default_https_context=ssl._create_unverified_context#addline2foriinrange(324,666):#起始位置要自己在浏览器的source来看s=str(i)s......
  • Java python C++
    Java和Python的区别编程范式:Java是一种面向对象的编程语言,而Python支持多种编程范式,包括面向对象、函数式和命令式等。这意味着Python在某些情况下可以比Java更简洁、易于理解和编写。代码可读性:Python是一种非常易于阅读和编写的编程语言,其语法和代码风格非常清晰......