温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python如何实现指定数组下标值正序与倒序排序

发布时间:2023-02-25 10:21:16 来源:亿速云 阅读:114 作者:iii 栏目:开发技术

本篇内容主要讲解“Python如何实现指定数组下标值正序与倒序排序”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python如何实现指定数组下标值正序与倒序排序”吧!

    1、知识点

    在实现自定义排序前,先来了解下基本的知识点和简单举例!

    编号语言或插件修饰符说明
    1pythondef定义方法关键词
    2pythonlist()数列,就是数组,方括号括起来值,遍历只能获取到值
    3pythontule()元组,括号括起来值,遍历可获取到值和下标
    4pythonenumerate()函数用于遍历序列中的元素以及它们的索引
    5pythonlen()统计长度
    6python逆序小技巧[1,2,3,4,5][::-1]

    2、数列和元组

    2.1、错误遍历方式

    list,数列,结合for循环遍历时,只能遍历值,无法获取到下标,如下方式会报错

    定义变量并赋值:list=['python','is','very','good','code']

    Python如何实现指定数组下标值正序与倒序排序

    2.2、正确遍历方式

    对于以为数组,for循环遍历,直接就是值,而不是下标

    Python如何实现指定数组下标值正序与倒序排序

    2.3、下标方式遍历

    可以获取数组长度,然后结合for和range通过下标0开始进行遍历,如下

    Python如何实现指定数组下标值正序与倒序排序

    代码如下

    #!/usr/bin/python3
    # -*- coding: utf-8 -*-
    # 2023-02-16
    
    list=['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-16
    
    list=['python','is','very','good','code']
    
    for index,value in enumerate(list):
        print(f'下标={index},值={value}')

    Python如何实现指定数组下标值正序与倒序排序

    2.5、逆序技巧

    数列逆序输出小技巧,-1表示从最后一个值反序输出
    [1,2,3,4,5][::-1]

    Python如何实现指定数组下标值正序与倒序排序

    #!/usr/bin/python3
    # -*- coding: utf-8 -*-
    # 2023-02-16
    
    list=['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、实现效果

    通过上面的一些知识点了解,即可完成数列的自定义正序排序和逆序排序

    通过指定下标进行输出,并可设置逆序输出

    Python如何实现指定数组下标值正序与倒序排序

    完整代码如下

    #!/usr/bin/python3
    # -*- coding: utf-8 -*-
    # 2023-02-16
    import 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_list
    
    list=['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如何实现指定数组下标值正序与倒序排序”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

    向AI问一下细节

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    AI