第三章--第三节(补充):列表排序

简介: 第三章--第三节(补充):列表排序

零、排序快速讲解

本节是补充内容,主要讲解列表的排序,列表排序有两种,分别是: list.sort() sorted()。我们来分别看一下。


1. list.sort()
sort()直接修改列表,返回值为None。语法如下:

list.sort([key][,reverse])

其中Key代表用作排序比较的键函数,即自定义排序规则,reverse表示按照升序排序还是降序排序(True为降序,False为升序)。下面通过例子来看一下:

# 定义一个列表
nums=[9,5,2,6,0,4,8]
# 按照升序排列
nums.sort(reverse=False)
# 输出结果为[0, 2, 4, 5, 6, 8, 9]
print(nums)
# 我们定义偶数排前面,奇数排后面
nums.sort(key=lambda x:(x%2!=0,x))
# 输出结果为[0, 2, 4, 6, 8, 5, 9]
print(nums)

2. sorted()
当我们需要保留原有列表值时,我们需要使用sorted()函数,sorted()返回一个排序后的列表,语法如下:

sorted(iterable[, key][, reverse])  

iterable是一个可迭代对象,这里的key和reverse同sort(),同样我们通过例子来看一下:

# 定义一个列表
nums=[9,5,2,6,0,4,8]
# 按照升序排列
new_nums=sorted(nums,reverse=False)
# 输出结果为[0, 2, 4, 5, 6, 8, 9]
print(new_nums)
# 我们定义偶数排前面,奇数排后面
new_nums=sorted(nums,key=lambda x:(x%2!=0,x))
# 输出结果为[0, 2, 4, 6, 8, 5, 9]
print(new_nums)

一、二者的区别

sort() 是应用在列表上的方法,sorted() 可以对所有可迭代的对象进行排序操作。列表的sort()方法返回的是对已经存在的列表进行操作,而内建函数sorted()方法返回的是一个新的列表,而不是在原来的基础上进行的操作。


注意:sort()不需要复制列表,因此消耗内存少效率高,如果不需要保留原有的列表,则使用sort()方法,反之使用sorted()函数。

目录
相关文章
|
5月前
|
机器学习/深度学习 编译器 C++
C++模板元模板实战书籍讲解第一章(顺序、分支与循环代码的编写)--续篇
C++模板元模板实战书籍讲解第一章(顺序、分支与循环代码的编写)--续篇
53 0
|
8月前
|
运维 Shell Linux
【运维知识高级篇】34道Shell编程练习题及答案(从基础到实战:基础+计算+判断+循环+控制与数组+实战进阶)(一)
【运维知识高级篇】34道Shell编程练习题及答案(从基础到实战:基础+计算+判断+循环+控制与数组+实战进阶)
273 0
|
8月前
|
运维 监控 应用服务中间件
【运维知识高级篇】34道Shell编程练习题及答案(从基础到实战:基础+计算+判断+循环+控制与数组+实战进阶)(二)
【运维知识高级篇】34道Shell编程练习题及答案(从基础到实战:基础+计算+判断+循环+控制与数组+实战进阶)(二)
399 0
|
10月前
|
机器学习/深度学习 搜索推荐 算法
编程艺术 - 第二章 、俩个字符串是否包含问题以及扩展
编程艺术 - 第二章 、俩个字符串是否包含问题以及扩展
47 0
|
存储 SQL 自然语言处理
入门案例(索引过程)|学习笔记
快速学习入门案例(索引过程)
69 0
入门案例(索引过程)|学习笔记
|
Java
java学习第五天笔记-循环高级和数组107-最简单的方法定义和调用2展示信息
java学习第五天笔记-循环高级和数组107-最简单的方法定义和调用2展示信息
64 0
java学习第五天笔记-循环高级和数组107-最简单的方法定义和调用2展示信息
|
存储 算法 测试技术
《算法笔记知识点记录》第二章——快速入门4[结构体、输入输出、复杂度和黑盒测试](1)
《算法笔记知识点记录》第二章——快速入门4[结构体、输入输出、复杂度和黑盒测试](1)
|
人工智能 算法 C++
《算法笔记知识点记录》第二章——快速入门3[函数、指针](2)
《算法笔记知识点记录》第二章——快速入门3[函数、指针](2)
《算法笔记知识点记录》第二章——快速入门3[函数、指针](2)
|
算法 编译器 C语言
《算法笔记知识点记录》第二章——快速入门3[函数、指针](1)
《算法笔记知识点记录》第二章——快速入门3[函数、指针](1)
|
索引 Python
第三章--第三节:列表
第三章--第三节:列表
128 0
第三章--第三节:列表