Python如何实现指定数组下标值正序与倒序排序
本篇内容主要讲解“Python如何实现指定数组下标值正序与倒序排序”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python如何实现指定数组下标值正序与倒序排序”吧!
1、知识点
在实现自定义排序前,先来了解下基本的知识点和简单举例!
编号 | 语言或插件 | 修饰符 | 说明 |
---|---|---|---|
1 | python | def | 定义方法关键词 |
2 | python | list() | 数列,就是数组,方括号括起来值,遍历只能获取到值 |
3 | python | tule() | 元组,括号括起来值,遍历可获取到值和下标 |
4 | python | enumerate() | 函数用于遍历序列中的元素以及它们的索引 |
5 | python | len() | 统计长度 |
6 | python | 逆序小技巧 | [1,2,3,4,5][::-1] |
2、数列和元组
2.1、错误遍历方式
list,数列,结合for循环遍历时,只能遍历值,无法获取到下标,如下方式会报错
定义变量并赋值:list=['python','is','very','good','code']
2.2、正确遍历方式
对于以为数组,for循环遍历,直接就是值,而不是下标
2.3、下标方式遍历
可以获取数组长度,然后结合for和range通过下标0开始进行遍历,如下
代码如下
#!/usr/bin/python3# -*- coding: utf-8 -*-# 2023-02-16list=['python','is','very','good','code']listLength=len(list)for index in range(listLength): value=list[index] print(f'下标={index},值={value}')
2.4、enumerate方式遍历
还有一种方式就是将数列和元组通过enumerate方式遍历
格式,注意顺序,第一个是索引,第二个参数是值:
#!/usr/bin/python3# -*- coding: utf-8 -*-# 2023-02-16list=['python','is','very','good','code']for index,value in enumerate(list): print(f'下标={index},值={value}')
2.5、逆序技巧
数列逆序输出小技巧,-1表示从最后一个值反序输出[1,2,3,4,5][::-1]
#!/usr/bin/python3# -*- coding: utf-8 -*-# 2023-02-16list=['python','is','very','good','code']listNew=list[::-1]print(f'正序输出={list}\r\n')print(f'逆序输出={listNew}\r\n')
3、自定义排序规则
1)按照order的元素作为lst对应位置的元素的应该顺序
2)并按照该顺序重新排列lst,返回排序后的结果列表
3)支持逆序
4、自定义排序编码
4.1、函数命名
定义函数名为,sort_by
def sort_by(lst:list, order:list, reverse=False)->list: pass
4.2、定义变量
定义两组list数列如下
list=['python','is','very','good','code']numValue=[19,95,11,29,5,26,3,6]
4.3、实现效果
通过上面的一些知识点了解,即可完成数列的自定义正序排序和逆序排序
通过指定下标进行输出,并可设置逆序输出
完整代码如下
#!/usr/bin/python3# -*- coding: utf-8 -*-# 2023-02-16import sys def sort_by(lst:list, order:list, reverse=False) -> list: pass new_list = [] for i in range(len(lst)): new_list.append(i) for index,value in enumerate(lst): position = order[index] - 1 new_list[position] = value if reverse==True: return new_list[::-1] else: return new_listlist=['python','is','very','good','code']numValue=[3,2,1,5,4]print(sort_by(list, numValue)) print(sort_by(list, numValue, True))
5、常见排序算法
编号 | 算法名称 | 说明 |
---|---|---|
1 | 插入排序 | 插入到已经排好序的有序表中 |
2 | 选择排序 | 选最小或最大放到排序位置 |
3 | 冒泡排序 | 重复地走访过要排序的元素列 |
4 | 归并排序 | 将已有序的子序列合并,得到完全有序的序列 |
5 | 快速排序 | 通过分界值将数组分成左右两部分 |
6 | 希尔排序 | 是插入排序的一种又称“缩小增量排序 |
到此,相信大家对“Python如何实现指定数组下标值正序与倒序排序”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341