本节书摘来自异步社区《Python数据科学指南》一书中的第1章,第1.22节,作者[印度] Gopi Subramanian ,方延风 刘丹 译,更多章节内容可以访问云栖社区“异步社区”公众号查看。
1.22 列表排序
我们先讨论列表排序,然后扩展到对其他可迭代对象的排序。
1.22.1 准备工作
排序有两种方法,第1种是使用列表里内置的sort函数。第2种是使用sorted函数。我们通过示例来进行说明。
1.22.2 操作方法
我们来看看如何使用sort和sorted函数。
# 先看一小段代码,对给定的列表进行排序
a = [8, 0, 3, 4, 5, 2, 9, 6, 7, 1]
b = [8, 0, 3, 4, 5, 2, 9, 6, 7, 1]
print a
a.sort()
print a
print b
b_s = sorted(b)
print b_s
1.22.3 工作原理
我们声明了两个列表a和b,它们的元素完全相同,打印输出列表a来进行检验。
[8, 0, 3, 4, 5, 2, 9, 6, 7, 1]
我们使用sort函数来处理列表数据类型,用a.sort()来执行位置排序,下面的print语句展示了被排序之后的列表。
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
现在,我们来试试sorted函数,这个函数对列表进行排序,返回一个新的排序后的列表。我们通过sorted(b)来调用,排序后的输出存在b_s中,print语句输出如下的结果。
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
1.22.4 更多内容
sort函数只对列表数据类型有效,默认排序是按照升序进行的,可以通过reverse参数来控制sort函数的排序方式,默认情况下,reverse参数被设置为False。
>>> a = [8, 0, 3, 4, 5, 2, 9, 6, 7, 1]
>>> print a
[8, 0, 3, 4, 5, 2, 9, 6, 7, 1]
>>> a.sort(reverse=True)
>>> print a
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
>>>
现在是降序排序。
其他可迭代对象只能采用sorted函数,我们看一个元组的示例。
>>> a = (8, 0, 3, 4, 5, 2, 9, 6, 7, 1)
>>> sorted(a)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>>