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

这篇具有很好参考价值的文章主要介绍了python数组排序的方法及常用代码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

 

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数组排序常用的代码:

1. 使用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://www.toymoban.com/news/detail-500395.html

到了这里,关于python数组排序的方法及常用代码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 代码随想录额外题目| 数组03 ●34排序数组查首尾位置 ●922按奇偶排序数组II●35搜索插入位置

    #34排序数组查首尾位置 medium,我写的:1 暴力 我写的,做了个类似二分搜索的方法: 随想录:从两头都做类似二分搜索 #922 按奇偶排序数组II 我的解法,有点蠢: inplace解法: 把odd idx放的偶数,给换到even idx放的奇数 注意j是从1开始,而且每轮i,j都是继续增加不回去 空间表

    2024年02月15日
    浏览(42)
  • 【Python | 机器学习】Python中进行特征重要性分析的9个常用方法(含源代码)

    特征重要性分析用于了解每个特征(变量或输入)对于做出预测的有用性或价值。目标是确定对模型输出影响最大的最重要的特征,它是机器学习中经常使用的一种方法。 特征重要性分析在数据科学和机器学习中扮演着重要的角色,具有以下重要性: 理解数据:特征重要性分析

    2024年02月03日
    浏览(57)
  • 数组排序 sort() 方法 (映射对含有大小写的字符串进行排序)

    结论先行: sort() 方法: 用于对数组元素进行 排序 ,默认升序。如果指明了参数,那数组会按照 比较函数 的返回值进行排序。    sort() 方法比较两个值时,将值发送给比较函数,根据返回的(负、零、正)值对值进行排序。 举例,a 和 b 两个将要被比较的元素: 如果 a-

    2024年04月25日
    浏览(47)
  • JavaScript数组去重,大小排序的两种方法

    方法有很多种,本文列举其中两种 声明一个数组 数组去重 1:利用ES6中的 Set 方法去重(最常用) 原理: Set数据结构中所有元素都是唯一的,没有重复 Set 本身是一个构造函数,用来生成 Set 数据结构 2:利用indexOf去重 原理: indexof() 可返回某个指定的字符串值在字符串中首

    2024年02月06日
    浏览(44)
  • C语言常用排序方法

    排序作为最基本的算法,其应用广泛,变化多样,在不同情景下有不同应用。下面介绍几种应用比较多的排序原理。 冒泡排序是最简单的排序算法,思路简单,容易理解。 冒泡排序是一种简单的交换排序,它的基本思想是:两两比较相邻记录的,如果反序则交换,直

    2024年02月11日
    浏览(44)
  • js 数组的常用方法

    数组关注是否改变原数组 操作 增   会影响原数组 push() unshift() splice() 不会影响 concat() 删 会影响原数组 pop() shift() splice() 不会影响 slice() 改 splice() 查 indexOf() includes() find() 排序 reserve() sort() 转换 join() 迭代方法 some() every() forEach() filter() map() push() 接收任意数量的参数,将

    2024年04月27日
    浏览(32)
  • 数组的常用方法(函数)

    一、数组的常用方法: 内置法:直接使用,只需按要求传递对应的参数 1、join(连接字符):作用是将数组中的元素通过给定的连接字符连成一个字符串 2 、 push (值/变量/对象):从数组的末尾向数组添加元素 3 、 pop ():从数组的末尾删除元素,一次只删除一个,返回

    2024年02月15日
    浏览(29)
  • JS常用数组方法

    📝个人主页:爱吃炫迈 💌系列专栏:数据结构与算法 🧑‍💻座右铭:道阻且长,行则将至💗 无参构造 带参构造 如果传入一个非数值的参数或者参数个数大于 1,则表示创建一个包含指定元素的数组。 Array.of()方法总会创建一个包含所有传入参数的数组,而不管参数的数

    2023年04月23日
    浏览(33)
  • javascript常用的数组方法

    本文档统计了数组的常用方法,其中有参数可能不完整.请转至mdn查看 a.语法: delete arr[2] b.描述 删除数组的某一项的内容,或者说将某一项的内容置为空, c.返回值 d.特点 改变原数组,长度不发生变化 a.语法 arr.push(1,2,5) b.描述 向数组末尾追加 一个 或 多个 元素 c.返回值 追加元素

    2024年02月02日
    浏览(42)
  • JavaScript中数组常用方法汇总!

    数组是一个复杂数据类型,我们在操作它的时候就不能再想基本数据类型一样操作了。 比如我们想改变一个数组 这样肯定是不合理,因为这样不是在改变之前的数组。相当于重新制作了一个数组给到 arr 这个变量了,相当于把 arr 里面存储的地址给换了,也就是把存储空间换

    2024年02月17日
    浏览(73)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包