返回顶部
首页 > 资讯 > 后端开发 > Python >python数组排序的方法及常用代码
  • 631
分享到

python数组排序的方法及常用代码

python排序算法算法 2023-08-31 14:08:12 631人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

  python中,数组是指以字符串形式存储的数据结构。在 Python中,数组的概念是非常重要的,它可以用于存储一些数值、字符串等,让我们能够快速地访问这些数据。 数组有三种排序方法: 简单排序(sort):可以对数组中的每个元素进行排

 

python中,数组是指以字符串形式存储的数据结构。在 Python中,数组的概念是非常重要的,它可以用于存储一些数值、字符串等,让我们能够快速地访问这些数据。 数组有三种排序方法: 简单排序(sort):可以对数组中的每个元素进行排序,根据元素的大小依次从大到小排列。这种方法需要根据元素的大小来决定对元素进行排序的方法,所以如果大量元素组成的数组中有很多小元素,那么可能需要很长时间才能将数组进行排序。 插入排序(insert):对数组中的每个元素进行插入排序,当数组中所有元素都插入完毕之后,数组就被排好序了。这种方法也是比较快的一种方法,但是需要对数据进行操作。 冒泡排序(bubble):按序列对数组中的每个元素逐个进行比较,当比较到最后一个元素时,就将这个元素移至最后一个位置。这种方法会有一定的时间复杂度。

  • 一、简单排序

    简单排序是指根据数组中元素的大小,依次对数组中的元素进行排序的方法。简单排序的基本思想是:每次从最小的元素开始,向上或向下取一个最大的元素,然后再从这个最大的元素开始,向上或向下取一个最小的元素,依此类推,直到完成所有元素的排序。具体实现可以使用简单排序函数 sort ()来实现。 简单排序函数有四种参数,它们分别是: [1][2]…[n]。可以使用以下代码来实现: 可以看到, sort ()函数对数组进行了一次排序操作,每个数组都有四个不同的元素。函数中调用了两次 sort ()函数。其中, sort ()函数是对数组进行一次简单排序,而 sort ()函数则是对数组进行两次简单排序。

  • 二、插入排序

    当我们将一个大的数组拆分成多个小的数组,然后再对每个小数组进行排序时,我们就可以采用插入排序了。插入排序的基本思想是:从最小的数组开始,将最大的数组放入第一个元素中,然后依次插入其他元素,直到所有元素都插入完毕。当数组中所有元素都被插入完毕之后,就可以对整个数组进行排序了。 在使用插入排序时,我们需要注意以下几点: 1、如果要对数组进行排序,我们需要先将数组拆分成一个个小的数组,然后再对每个小数组排序数组中的元素。 如果我们按数字从小到大的顺序排序的话,那么当我们把第一个元素插入到第二个元素之前时,就会发现最后一个元素被排在了最前面。

  • 三、冒泡排序

    冒泡排序是一种高效的排序方法,其思想是将一个数组按照序列的方式进行排序,并将最后一个元素移动到最左边的位置,这个方法不需要进行数据的操作。冒泡排序最早出现在计算机领域,它是由 Pascal开发的一种算法,后来被 Python所沿用。 冒泡排序和简单排序一样,都是使用数组来进行操作的。与简单排序相比,冒泡排序可以使时间复杂度下降一些,而且它不需要对数据进行操作。 在使用冒泡排序时,可以将数组中的元素按照序列进行排列。

  • 四、快速排序

    快速排序是一种有效的排序方法,它和简单排序、插入排序相比,具有更快的速度。快速排序是基于元素的数字序列来实现的,因此我们可以在不破坏数组结构的前提下快速地完成排序。 我们先来看一个简单的例子: 这是一个二进制的字符串,我们需要对这个字符串进行排序。我们使用简单排序方法: 这里我们先给每个元素添加1个数字,然后将这个字符串放入数组中,用插入排序法将它进行排序,然后再对所有元素进行比较。 快速排序比简单排序、插入排序都要快很多,但是它比冒泡排序慢一些。具体来说,快速排序的时间复杂度是O (n),而插入排序和冒泡序则都是O (1)。当我们使用快速排序时,我们只需要将字符串添加到数组中即可。 上述代码运行结果如下: 上面两个代码运行结果都是相同的。快速排名在运行过程中会变得非常慢,所以我们可以使用插入排对数组进行快速排列。

  • 五、随机排序

    随机排序是一种随机算法,通过对数组中的每个元素进行比较,确定其先后顺序,然后对其进行排序。与普通的排序算法相比,随机排序算法在时间复杂度上要比普通的排序算法小很多。 随机排序的思想是对数组中的每一个元素都进行一次比较,当比较完成之后,就将这一次比较产生的最大值作为下一次比较的起始值,然后再进行下一次比较。如果最后一次比较是大于最大值的元素,就把它放到最后;如果最后一次比较是小于最大值的元素,就把它放到前面。如此反复执行,直到所有元素都被排完序。 随机排序算法在执行过程中需要不断地进行随机排序,因此需要一定的时间复杂度。随机排序算法比普通排序算法的时间复杂度要高一些。

  • 六、快速排序算法示例

    下面以 sort排序为例,对一个数据进行排序。 如图所示,从左至右,从小到大的顺序是: 这个数据结构很简单,使用 sort对它进行排序的话,在执行一次 sort操作后就可以对数组中的数据进行排序了。 注意,这个数据结构的索引是在 sort函数中创建的,所以想要对这个数据进行排序的话,也可以使用 insert函数来实现。 因为每次都要对数组中的每一个元素进行比较,所以速度是比较慢的。 上面介绍了三种排序算法,每种排序算法都有各自的优缺点。使用哪种算法,应该根据实际情况来决定。下面我们将以这三种算法为例,来简单说明一下它们各自的特点。

python数组排序常用的代码:

 使用sorted()函数进行排序

```python
arr = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
sorted_arr = sorted(arr)
print(sorted_arr)
```

输出结果:

```
[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
```

2. 使用sort()方法进行排序

```python
arr = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
arr.sort()
print(arr)
```

输出结果:

```
[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
```

3. 使用numpy库的sort()函数进行排序

```python
import numpy as np

arr = np.array([3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5])
sorted_arr = np.sort(arr)
print(sorted_arr)
```

输出结果:

```
[1 1 2 3 3 4 5 5 5 6 9]
```

4. 使用heapq库的heapify()和heappop()函数进行堆排序

```python
import heapq

arr = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
heapq.heapify(arr)
sorted_arr = []
while arr:
sorted_arr.append(heapq.heappop(arr))
print(sorted_arr)
```

输出结果:

```
[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
```

来源地址:https://blog.csdn.net/qq_42751978/article/details/129831576

--结束END--

本文标题: python数组排序的方法及常用代码

本文链接: https://lsjlt.com/news/385757.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python数组排序的方法及常用代码
      python中,数组是指以字符串形式存储的数据结构。在 python中,数组的概念是非常重要的,它可以用于存储一些数值、字符串等,让我们能够快速地访问这些数据。 数组有三种排序方法: 简单排序(sort):可以对数组中的每个元素进行排...
    99+
    2023-08-31
    python 排序算法 算法
  • python 遍历数组的3种方法及常用的代码
      直接使用数组的元素进行遍历,但这种遍历方法效率较低,不推荐使用。可以使用 python中的 num或者 int数组。 2、使用 python中的my_num,该方法通过数组的末尾进行遍历,效率最高,可以直接使用。 5、在 Python...
    99+
    2023-09-21
    python 算法 数据结构
  • c++数组排序的5种方法实例代码
    目录方法一:冒泡排序方法二:sort函数排序方法三:用交换函数swap排序方法四:快速排序方法五:归并排序总结方法一:冒泡排序 比较相邻的元素。如果第一个比第二个大,就交换他们两个。...
    99+
    2023-01-11
    c++数组排序函数 C++数组排序有几种 c++数组的排序
  • Java常用的八种排序算法及代码实现+图解
    目录1.冒泡排序冒泡排序法的思路2.冒泡排序法的代码实现3.冒泡排序法优化4.选择排序5.插入排序插入排序的思路经典的排序算法有八种,分别为: 冒泡排序选择排序插入排序归并排序希尔排...
    99+
    2024-04-02
  • python pandas 数据排序的几种常用方法
    前言: pandas中排序的几种常用方法,主要包括sort_index和sort_values。 基础数据: import pandas as pd import numpy as ...
    99+
    2024-04-02
  • JavaScript数组排序和数字排序的方法
    这篇文章主要介绍“JavaScript数组排序和数字排序的方法”,在日常操作中,相信很多人在JavaScript数组排序和数字排序的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大...
    99+
    2024-04-02
  • Python自定义类的数组排序实现代码
    首先把实现方法写出来,其实很简单,只需要一句代码即可: productlist.sort(lambda p1, p2:cmp(p1.getPrice(), p2.getPrice())) 数组produ...
    99+
    2022-06-04
    自定义 数组 代码
  • java数组排序的方法
    这篇文章主要介绍“java数组排序的方法”,在日常操作中,相信很多人在java数组排序的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java数组排序的方法”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
    99+
    2023-06-02
  • python 常用的排序算法
    1.插入排序:插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序;首先将第一个作为已经排好序的,然后每次从后的取出插入到前面并排序; def insert_sor...
    99+
    2023-01-30
    算法 常用 python
  • Python中实现堆排序算法的概念及代码
    了解堆排序算法的前提是要知道完全二叉树和堆数据结构。堆排序算法是将数组可视化为完全二叉树,因此也被称之为“堆”。 堆排序算法原理 1、根据最大堆属性,数据组中最大的项存储在根节点 2、去掉根元素,放到数组的末尾(第n个位置),把...
    99+
    2024-01-22
    算法的概念
  • python多维数组排序的方法是什么
    Python中可以使用NumPy库来对多维数组进行排序。NumPy中的sort函数可以按照指定的轴对数组进行排序。以下是一个示例:`...
    99+
    2023-10-12
    python
  • Java 常见排序算法代码分享
    目录1. 冒泡排序2. 选择排序3. 插入排序4. 快速排序5. 归并排序6. 希尔排序6.1 希尔-冒泡排序(慢)6.2 希尔-插入排序(快)7. 堆排序8. 计数排序9. 桶排序...
    99+
    2024-04-02
  • Java常用的八种排序算法与代码实现
    目录1.直接插入排序2.希尔排序3.简单选择排序4.堆排序5.冒泡排序6.快速排序7.归并排序8.基数排序1.直接插入排序 经常碰到这样一类排序问题:把新的数据插入到已经排好的数据列...
    99+
    2024-04-02
  • PHP二维数组排序的 方法
    关于排序一般我们都是通过数据库或者nosql(eg:redis)先排好序然后输出到程序里直接使用,但是有些时候我们需要通过PHP直接来对数组进行排序,而在PHP里存储数据用到最多的就是对象和数组,但处...
    99+
    2023-09-01
    php 开发语言 数据库
  • php+实现数组排序的方法
    在PHP中,排序是我们日常编程中经常需要用到的操作之一,针对数组的排序,PHP提供了多种排序函数来帮助我们完成该任务。接下来我们就来介绍几种常见的PHP数组排序方法。sort函数sort函数是PHP内置的排序函数之一,可以对数组进行升序排序...
    99+
    2023-05-23
  • 用Python写冒泡排序代码
    python代码实现冒泡排序代码其实很简单,具体代码如下所示: 代码Code highlighting produced by Actipro CodeHighlighter (freeware)htt...
    99+
    2022-06-04
    代码 Python
  • 堆排序原理及算法代码详解
    目录二、二叉树定义三、堆的定义四、堆排序Java代码实现总结一、堆排序算法原理和动态图解 将待排序的序列构造成一个大顶堆。此时,整个序列的最大值就是堆顶的根节点。将它移走(其实就是将...
    99+
    2024-04-02
  • Go语言实现常用排序算法的示例代码
    目录冒泡排序快速排序选择排序插入排序排序算法是在生活中随处可见,也是算法基础,因为其实现代码较短,应用较常见。所以在面试中经常会问到排序算法及其相关的问题,可以说是每个程序员都必须得...
    99+
    2024-04-02
  • python3实现常见的排序算法(示例代码)
    冒泡排序 冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列...
    99+
    2024-04-02
  • Golang实现常见排序算法的示例代码
    目录前言五种基础排序算法对比1、冒泡排序2、选择排序3、插入排序4、快速排序前言 现在的面试真的是越来越卷了,算法已经成为了面试过程中必不可少的一个环节,你如果想进稍微好一点的公司,...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作