Python 数组排序
Python的array模块定义了array类。array类的对象类似于Java或C/C++中的数组。与内置的Python序列不同,array是一个同类型的集合,可以是字符串、整数或浮点数对象。
array类没有提供任何可以对其元素进行排序的函数或方法。然而,我们可以通过以下方法之一来实现排序:
- 使用排序算法
-
使用List的sort()方法
-
使用内置的sorted()函数
让我们详细讨论每种方法。
使用排序算法
我们将实现经典的 冒泡排序算法 来获得排序后的数组。为了实现这个算法,我们使用两个嵌套循环,并交换元素以重新排列为排序顺序。
使用Python代码编辑器保存以下代码:
它将产生以下 输出 −
使用列表的sort()方法
尽管数组没有sort()方法,但Python内置的列表类有sort方法。我们将在下个示例中使用它。
首先,声明一个数组并使用tolist()方法从中获取一个列表对象 –
我们可以很容易地获得按照以下方式排序的列表:
我们所需要做的就是将这个列表转换回数组对象−
这是完整的代码。
它将生成以下 输出 −
使用内建的sorted()函数进行排序
对数组进行排序的第三种技术是使用内建的sorted()函数。
sorted()函数的 语法 如下所示:
该函数返回一个包含了可迭代对象中所有项目按升序排列的新列表。将reverse参数设置为True可以获得按降序排列的项目。
sorted()函数可以与任何可迭代对象一起使用。Python数组是可迭代对象,因为它是一个索引集合。因此,数组可以作为sorted()函数的参数。
这将产生以下 输出 −