当前位置: 首页 > news >正文

Python可以实现列表排序的几种方法

在 Python 中可以通过以下几种方法实现列表排序:

一、使用sorted()函数

sorted()函数会返回一个新的已排序列表,而不改变原始列表。

my_list = [4, 2, 6, 1, 3]
sorted_list = sorted(my_list)
print(sorted_list)  # [1, 2, 3, 4, 6]
print(my_list)  # [4, 2, 6, 1, 3],原始列表未改变

可以通过参数reverse=True实现降序排序:

sorted_list_desc = sorted(my_list, reverse=True)
print(sorted_list_desc)  # [6, 4, 3, 2, 1]

二、使用列表的sort()方法

sort()方法会直接在原始列表上进行排序,改变原始列表。

my_list = [4, 2, 6, 1, 3]
my_list.sort()
print(my_list)  # [1, 2, 3, 4, 6]

同样可以设置reverse=True实现降序排序:

my_list.sort(reverse=True)
print(my_list)  # [6, 4, 3, 2, 1]

三、自定义排序规则

  1. 通过函数指定排序规则:

    可以定义一个函数,根据特定的规则来确定元素的排序顺序,然后将这个函数作为参数传递给sorted()sort()

    例如,按照列表中元素的绝对值大小进行排序:

    my_list = [-4, 2, -6, 1, 3]
    sorted_list_abs = sorted(my_list, key=lambda x: abs(x))
    print(sorted_list_abs)  # [1, 2, 3, -4, -6]
    
  2. 通过实现魔法方法自定义排序规则:

    对于自定义的类,可以通过实现__lt__(小于)方法来定义对象之间的排序规则。

    例如:

    class MyObject:def __init__(self, value):self.value = valuedef __lt__(self, other):return self.value < other.valueobj_list = [MyObject(4), MyObject(2), MyObject(6), MyObject(1), MyObject(3)]
    sorted_obj_list = sorted(obj_list)
    for obj in sorted_obj_list:print(obj.value)
    

这些方法可以根据不同的需求灵活地对列表进行排序。

Python学习资料(项目源码、安装包、激活码、电子书、视频教程)已经打包好啦!
需要的小伙伴【点击领取】哦!或者下方扫码拿走!

在这里插入图片描述
在这里插入图片描述


http://www.mrgr.cn/news/52212.html

相关文章:

  • 解决MybatisPlus updateById更新数据时将没传的数据也更新成了null
  • 深入理解计算机系统--计算机系统漫游
  • STM32L1x 片上温度传感器采用ADC及工厂校准数据提升测量温度精度
  • 惊!随身WiFi流量套餐竟有这些“坑爹”套路,你了解多少?随身WiFi哪个牌子好?
  • 【C语言】结构体的定义与使用
  • OpenAI多智能体框架Swarm实测—基于Qwen开源模型
  • Java学到什么程度才可以出来找工作呢?
  • Excel数据分析
  • jmeter用csv data set config做参数化1
  • VAS1085Q升降压线性LED驱动芯片车规认证AEC-Q100
  • 在TikTok平台进行户外直播的策略与技巧
  • (SEM)模型 ▎结构方程模型的建立、拟合、评估、筛选和结果展示
  • 【数据分析】影响系数 =(今日量-昨日量)/(今日总量-昨日总量)
  • Error: The getter ‘backgroundColor‘ isn‘t defined for the class ‘ThemeData‘
  • 什么是 BloomFilter
  • ast2600 i2c framework
  • C++/初识C++
  • 后端Web开发
  • day37 动态规划理论基础 509.斐波那契数列 70.爬楼梯 746.使用最小花费爬楼梯
  • 低代码用户中心的构建:技术论坛探讨