排序,是许多编程语言中经常出现的问题。同样的,在Python中,如何是实现排序呢?(以下排序都是基于列表来实现)

一、使用Python内置函数进行排序

Python中拥有内置函数实现排序,可以直接调用它们实现排序功能

Python 列表有一个内置的 list.sort() 方法可以直接修改列表。还有一个 sorted() 内置函数,它会从一个可迭代对象构建一个新的排序列表。

1.sort()函数:

list.sort(cmp=None, key=None, reverse=False)

其中参数的含义是:

cmp -- 可选参数, 如果指定了该参数会使用该参数的方法进行排序。

key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。

reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)。

默认输入列表就可以排序,例如:

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

list.sort()

print(list)

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

2.sorted()函数:

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

其中:

iterable -- 可迭代对象。

cmp -- 比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0。

key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。

reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)。

同样的,使用sorted()函数可以对列表进行排序,例如:

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

print(sorted(list))

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

sort()和sorted()虽然相似,都可以实现排序功能,但是它们有很大的不同:

sort ()与sorted()区别:

sort() 是应用在 list 上的方法,sorted() 可以对所有可迭代的对象进行排序操作。

list 的 sort() 方法返回的是对已经存在的列表进行操作,无返回值,而内建函数 sorted() 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。

列表的翻转(reverse)、升序(sort)、降序(sorted),按长度排列的用法

list4 = [10,10,50,20,30,60,51,20,10,10]

print(list4)

list4.reverse() #翻转

print(list4)

list4.sort()

print(list4) #升序排列,直接对表进行操作

list4.sort(reverse=True)

print(list4) #降序排列

list41 = [10,10,50,20,30,60,51,20,10,10]

print(sorted(list41)) #升序排列,生成一个新表

print(list41)

print(sorted(list41,reverse=True)) #降序排列,从之前的列表中挑选出元素组成新的表

print(list41)

list43 = ["fddg","gfdggfg","f"] #按照长度进行排序,生成新的列表

print(sorted(list43,key=len))

python如何完成列表的排序_Python要如何实现列表排序的几种方法相关推荐

  1. python下载图片到文件夹_Python下载图片并保存本地的四种方法

    一:使用Python中的urllib类中的urlretrieve()函数,直接从网上下载资源到本地,具体代码: import os,stat import urllib.request img_url ...

  2. python创建树结构、求深度_Python实现二叉树的最小深度的两种方法

    找到给定二叉树的最小深度 最小深度是从根节点到最近叶子节点的最短路径上的节点数量 注意:叶子节点没有子树 Example: Given binary tree [3,9,20,null,null,15 ...

  3. python的数组和元组区别_python中数组,列表,元组的区别、定义、功能

    准确的来说,在python中是没有数组类型的,python中取而代之的是列表和元组.列表比元组好用,因为元组一旦定义就没法修改.而列表不仅可以和数组一样按索引访问,还有一堆的功能. 列表: (1)添加 ...

  4. python给excel排序_Python实现EXCEL表格的排序功能示例

    Python实现EXCEL表格的排序功能示例 EXCEL的数值排序功能还是挺强大的,升序.降序,尤其自定义排序,能够对多个字段进行排序工作. 那么,在Python大法中,有没有这样强大的排序功能呢?答 ...

  5. python字符串去重排序_python实现字符串转数字排序-女性时尚流行美容健康娱乐mv-ida网...

    女性时尚流行美容健康娱乐mv-ida网 mvida时尚娱乐网 首页 美容 护肤 化妆技巧 发型 服饰 健康 情感 美体 美食 娱乐 明星八卦 首页  > 高级搜索 python 取子 字符 串 ...

  6. python函数列表永久修改_python 禁止函数修改列表的实现方法

    有时候,需要禁止函数修改列表.例如要对裂变进行修改操作,也要保留原来的未打印的设计列表,以供备案.为解决这个问题,可向函数传递列表的副本而不是原件:这样函数所做的任何修改都只影响副本,而丝毫不影响原件 ...

  7. python经典排序_python实现十大经典排序算法

    写在前面 本文参考十大经典排序算法(动图演示),这篇文章有动图显示,介绍的很详细.本文是部分内容有借鉴此博客,用python实现,有一些改进. 各种算法的时间.空间复杂度 1.冒泡排序 1.比较相邻的 ...

  8. python列表修改函数_python 禁止函数修改列表的实现方法

    有时候,需要禁止函数修改列表.例如要对裂变进行修改操作,也要保留原来的未打印的设计列表,以供备案.为解决这个问题,可向函数传递列表的副本而不是原件:这样函数所做的任何修改都只影响副本,而丝毫不影响原件 ...

  9. python sort 多级排序_python sort、sorted高级排序技巧

    Python list内置sort()方法用来排序,也可以用python内置的全局sorted()方法来对可迭代的序列排序生成新的序列. 1)排序基础 简单的升序排序是非常容易的.只需要调用sorte ...

最新文章

  1. ArrayList和LinkedList的索引问题
  2. php phpunit selenium,phpunit+selenium环境筹建
  3. HBase Replication源码解析之HLog读取
  4. 【视频教程】利用Excel轻松爬取网页上的数据
  5. 服务器u8系统数据库不存在,用友u8服务器端数据库不装
  6. 单片机软件模拟SPI接口—加深理解SPI总线协议
  7. 《『若水新闻』客户端开发教程》——10.代码编写(2)
  8. 002-Go通过ioutil 读写文件
  9. C++ int与string的相互转换
  10. 决策树人工智能预测模型_部署和服务AI模型进行预测的10种方法
  11. 手心输入法漏洞绕过win8登陆验证
  12. 计算机的作业与程序,网络提交的计算机程序作业出现抄袭现象的对策探索
  13. 金蝶软件认证显示服务器异常,金蝶提示云服务器异常
  14. C语言计算BMI值,一看就会
  15. 蓝桥寒假训练1-2013年第四届蓝桥杯省赛
  16. C语言 求m~n(m<n)之间所有整数的和
  17. 《吐血整理》顶级程序员工具集
  18. 【一】JAVAScript 学习笔记:如何用javascript输出helloworld
  19. js中了解什么是事件对象event
  20. web 页面乱码的解决办法

热门文章

  1. 印度也开始自研 CPU ,5nm工艺、功耗是i9好几倍
  2. 2019修改CSDN博客皮肤教程
  3. 高三毕业,报考计算机专业,开学前该准备些什么?
  4. 如何用小度语音助手,去控制智汀家庭云里不同品牌设备?
  5. Prometheus+Springboot2.x实用实战——Timer(一)之@Timed初探
  6. 闹钟定时程序(python)
  7. PCL B样条曲线拟合(2d/3d)
  8. 关于cookie设置domain和path
  9. 用计算机的笔来画来画画说课稿,小学三年级信息技术说课稿优秀范文
  10. 清明,追思我身边故去的人