python列表排序不用函数,python列表排序从小到大

本文介绍了Python中列表排序的两种方法:sort()和sorted(),包括它们的语法、参数以及如何按指定元素进行升序和降序排序。特别提到了当元素为字典时的排序方式。最后,对比了sort()和sorted()在使用上的区别。
摘要由CSDN通过智能技术生成

大家好,小编来为大家解答以下问题,python列表排序方法从大到小,python列表排序不用函数,现在让我们一起来看看吧!

  • 本文收录于《Python开发》专栏,此专栏聚焦于Python开发中的编程技巧和总结,将持续更新,欢迎大家订阅!
  • 个人主页:有梦想的程序星空
  • 个人介绍:小编是人工智能领域硕士,全栈工程师,深耕Flask后端开发、数据挖掘、NLP、Android开发、自动化等领域,有较丰富的软件系统、人工智能算法服务的研究和开发经验。
  • 如果文章对你有帮助,欢迎关注点赞收藏订阅python画六瓣花

使用sort()函数

sort()函数的语法格式为:list.sort( key=None, reverse=False)

其中:

key 参数(可选)指定可迭代对象中的某个元素进行排序。

reverse 参数(可选)表示排序规则,包含升序(False)和降序(True),默认是False升序排序。

该方法没有返回值,示例如下:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
if __name__ == '__main__':
    t1 = [[2, 9, 3], [5, 3, 6], [1, 6, 3], [7, 8, 4]]
    t1.sort(key=lambda x: x[1], reverse=False)
    print(t1)

其中x[1]表示指定第2列(从0开始)元素进行排序。输出结果如下:

[[5, 3, 6], [1, 6, 3], [7, 8, 4], [2, 9, 3]]

使用sorted()函数

sorted()函数的语法格式为:list = sorted(iterable, key=None, reverse=False)

其中:

iterable 表示可迭代对象。

key 参数(可选)指定可迭代对象中的某个元素进行排序。

reverse 参数(可选)表示排序规则,包含升序(False)和降序(True),默认是False升序排序。

返回值为一个排好序的列表,示例如下:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
if __name__ == '__main__':
    t1 = [[2, 9, 3], [5, 3, 6], [1, 6, 3], [7, 8, 4]]
    t2 = sorted(t1, key=lambda x: x[1], reverse=False)
    print("t1:", t1)
    print("t2:", t2)

输出结果如下:

t1: [[2, 9, 3], [5, 3, 6], [1, 6, 3], [7, 8, 4]]
t2: [[5, 3, 6], [1, 6, 3], [7, 8, 4], [2, 9, 3]]

如果将reverse参数改成True,则为降序排序

t2 = sorted(t1, key=lambda x: x[1], reverse=True)

输出结果变成:

t2: [[2, 9, 3], [7, 8, 4], [1, 6, 3], [5, 3, 6]]

列表中元素为字典形式的排序方法

有时候我们会遇到列表中元素为字典dict形式的情况。

其实排序方法也是差不多的,只需要修改key的指定元素即可,如下所示:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
if __name__ == '__main__':
    t1 = [{"name": "li", "age": 21}, {"name": "wang", "age": 16}, {"name": "zhu", "age": 29},
          {"name": "wu", "age": 24}]
    t2 = sorted(t1, key=lambda x: x["age"], reverse=False)
    print(t2)

其中,x["age"]表示指定age字段对列表进行排序。输出结果如下:

[{'name': 'wang', 'age': 16}, {'name': 'li', 'age': 21}, {'name': 'wu', 'age': 24}, {'name': 'zhu', 'age': 29}]

 sort()和sorted()函数的区别

sort()和sorted()两种方法非常相似,都用来进行排序操作,但应用时也有所不同。

主要有以下两个不同之处:

sort()函数应用于list列表上,sorted()函数对所有的可迭代对象进行排序。
sort()函数在原list列表上进行排序,没有返回值,sorted()函数则返回一个新的排好序的list。

关注微信公众号【有梦想的程序星空】,了解软件系统和人工智能算法领域的前沿知识,让我们一起学习、一起进步吧!

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值