在 python 语言的内置对象中存在两个比较常用的排序函数:sort、sorted,另外常用的科学计算库 numpy 中的 也提供了很多的排序支持。本小节主要说明内置排序方法 sort、sorted 的使用场景,后续篇幅中会针对 numpy 的使用进行说明。
1、sort() 函数的简单使用
特点:sort() 函数只有在 list 列表的对象中才可以使用,直接该表列表本身的顺序不会生成新的列表对象,字符串按照 ASCII 码进行排序、中文按照 unicode 编码进行从小到大的排序。
-
默认不使用可选参数进行排序
1if __name__ == '__main__':
2 # 定义列表
3 list_ = list([5,2,3,4,6,1])
4 # 执行排序
5 list_.sort()
6 # 结果
7 print list_
-
使用可选参数 reverse 进行排序,从大到小排序
1if __name__ == '__main__':
2 # 定义列表
3 list_ = list([5, 2, 3, 4, 6, 1])
4 # 执行排序
5 list_.sort(reverse=True)
6 # 结果
7 print list_
-
使用可选参数 cmp 进行排序,cmp 函数主要是用于比较,通过比较大小的方式来进行排序
1if __name__ == '__main__':
2 # 定义列表
3 list_ = [('e',2),('a',1),('c',3),('d',4)]
4 # 执行排序
5 list_.sort(cmp=lambda m,n:cmp(m[1],n[1]))
6 # 结果
7 print list_
lambda 表达式说明:lambda m,n:cmp(m[1],n[1]) 表示元素对象的第1个位置也就是 2,1,3,4 之间进行比较后返回升序的新迭代对象。
2、sorted() 函数参数的妙用
特点:sorted(iterable,cmp,key,reverse)函数可以对可迭代的序列进行排序,并且返回一个新的对象、不对原有的列表对象进行修改。
-
默认不使用可选参数进行排序
1if __name__ == '__main__':
2 # 定义列表
3 list_ = ['d','f','a','c','b','e']
4 # 执行排序
5 list_2 = sorted(list_)
6 # 结果
7 print list_2
-
使用可选参数 key 进行排序,指定可迭代对象中的一个元素来进行排序
1if __name__ == '__main__':
2 # 定义列表
3 list_ = [('e',2),('a',1),('c',3),('d',4)]
4 # 执行排序
5 list_2 = sorted(list_,key=lambda n:n[1])
6 # 结果
7 print list_2
lambda 表达式说明:lambda n:n[1],n 代表每个元素,比如:(‘e’,2) 就是其中一个元素,n[1] 代表每个元素上的第一个位置,在 ('e',2) 中第一个位置正好是 2。由此可见,此迭代对象中是以 2,1,3,4 的升序为标准进行排序的。
-
使用可选参数 cmp 进行排序,cmp 函数主要是用于比较,通过比较大小的方式来进行排序
1if __name__ == '__main__':
2 # 定义列表
3 list_ = [('e',2),('a',1),('c',3),('d',4)]
4 # 执行排序
5 list_2 = sorted(list_,cmp=lambda m,n:cmp(m[0],n[0]))
6 # 结果
7 print list_2
lambda 表达式说明:lambda m,n:cmp(m[0],n[0]) 表示元素对象的第0个位置也就是 e,a,c,d 之间进行比较后返回升序的新迭代对象。
-
使用可选参数 reverse 进行排序,从大到小排序
1if __name__ == '__main__':
2 # 定义列表
3 list_ = ['d','f','a','c','b','e']
4 # 执行排序
5 list_2 = sorted(list_,reverse=True)
6 # 结果
7 print list_2
更多精彩前往微信公众号【Python 集中营】,专注后端编程实战,原创文章每天更新!
相关推荐
在Python中,有多种方式可以对数据进行排序,如内置的`sorted()`函数、列表的`sort()`方法,以及`heapq`模块等。这一部分将详细解释这些方法的工作原理,如何使用它们对不同类型的数据(包括自定义对象)进行排序,...
在Python中,我们可以使用内置的sort()或sorted()函数对列表进行排序,也可以使用pandas DataFrame的sort_values()方法。根据需求,可以选择升序或降序排列,甚至可以基于多个列进行排序。在数据可视化项目中,合理...
这篇"Python官方文档内置函数--整理"的资料显然是为了帮助开发者更好地理解和掌握Python中的内置函数。 Python的内置函数是Python解释器在启动时就加载的一组函数,无需额外导入模块,可以直接在代码中使用。这些...
### Python内置函数详解 Python作为一门强大的编程语言,在其标准库中提供了丰富的内置函数,以支持各种编程需求。本文将详细介绍部分重要的内置函数,并按功能类别进行归类,旨在帮助初学者快速掌握这些函数的基本...
SortedDict是Python的一个有序字典类型,类似于内置的dict,但其键按照插入顺序或指定的比较函数排序。在普通的字典中,键的顺序是不可预测的,但在SortedDict中,你可以根据需要访问键的顺序。 SortedDict的关键...
python python_leetcode_109_Convert_Sorted_List_to_Binary_Search_Tree
- sortedcontainers:快速的纯Python排序容器,如SortedList、SortedDict和SortedSet。 2. **构建工具**: - BitBake:面向嵌入式Linux的构建工具,类似make。 - buildout:用于创建、组装和部署应用程序的构建...
4-5函数式编程:map_reduce_filter_sorted_偏函数 5-1列表生成式 5-2迭代器 5-3生成器 5-4装饰器 5-5Python编程规范 6-1模块名称空间和导入 6-2模块的执行 6-3os和sys模块介绍和使用 6-4第三方模块的安装 7-1类与...
**内置函数**是Python语言的核心组成部分之一,它们构成了语言的基础框架。Python2.6提供了大量的内置函数,用于执行各种基本操作,如数值计算、字符串处理等。 - **abs()**: 返回一个数的绝对值。 - **all()**: ...
- 列表排序的方法(sort、sorted)及其参数设置。 - 复杂列表操作示例。 - **实践内容**: - 编写程序,实现列表的排序与反转等功能。 #### 13讲:元组,戴上了枷锁的列表 - **知识点介绍**: - 元组的概念及其...
模拟python sorted()函数
在Python的基础教程中,有几个内置函数特别常用,特别是与键(key)相关的函数。以下是对标题中提到的5个带key的Python内置函数的详细解释: 1. `max` 函数:此函数用于找到传入序列中的最大值。在基础示例中,`max...
内置函数是Python标准库的一部分,它们预装在每个Python环境中,为程序员提供了许多便捷的工具。"轻松学习 Python 69个内置函数"的资源旨在帮助初学者和有经验的开发者更好地掌握这些功能,提升编程效率。 1. **...
Python标准库中的`sorted()`函数和列表的`sort()`方法都使用了Timsort,这是一种混合排序算法,结合了插入排序和归并排序的优点,具有稳定的性能和较好的最坏情况时间复杂度。 在实际开发中,我们通常不直接使用...
Python中有2个排序函数,一个是list内置的sort()方法,另一个是全局的sorted()方法 sorted(iterable,key=None,reverse=False) #返回排好序的新列表,不改变对象本身,默认升序;reverse:-True降序 -False 正序对所有可...
在Python中,`sorted()` 是一个非常有用的内置函数,它可以帮助我们对列表、元组或其他可迭代对象中的元素进行排序。`sorted()` 函数不仅可以按升序或降序对元素进行排序,还可以通过指定自定义排序规则来实现更为...
- `sorted()`:这是一个内置函数,返回一个新的已排序的列表。可以通过`reverse=True`参数进行降序排序。 6. **其他小知识**: - 幂运算:Python中,`**`运算符用于求幂,如`2 ** 3`等于8。 - `print()`函数的`...