最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實現(xiàn)指定數(shù)組下標值正序與倒序排序算法功能舉例

 更新時間:2023年02月20日 10:52:17   作者:小5聊  
在程序中,經常需要按數(shù)組倒序或反序重新排列數(shù)組,下面這篇文章主要給大家介紹了關于Python實現(xiàn)指定數(shù)組下標值正序與倒序排序算法功能的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下

前言

在本次python文章中,主要通過定義一個排序方法,實現(xiàn)一組數(shù)列能夠按照另一組數(shù)列指定的位置進行重新排序輸出,默認正序排序,可通過True表示逆序輸出

1、知識點

??在實現(xiàn)自定義排序前,先來了解下基本的知識點和簡單舉例!

編號語言或插件修飾符說明
1pythondef定義方法關鍵詞
2pythonlist()數(shù)列,就是數(shù)組,方括號括起來值,遍歷只能獲取到值
3pythontule()元組,括號括起來值,遍歷可獲取到值和下標
4pythonenumerate()函數(shù)用于遍歷序列中的元素以及它們的索引
5pythonlen()統(tǒng)計長度
6python逆序小技巧[1,2,3,4,5][::-1]

2、數(shù)列和元組

2.1、錯誤遍歷方式

list,數(shù)列,結合for循環(huán)遍歷時,只能遍歷值,無法獲取到下標,如下方式會報錯

定義變量并賦值:list=['python','is','very','good','code']

2.2、正確遍歷方式

對于以為數(shù)組,for循環(huán)遍歷,直接就是值,而不是下標

2.3、下標方式遍歷

可以獲取數(shù)組長度,然后結合for和range通過下標0開始進行遍歷,如下

代碼如下

#!/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方式遍歷

還有一種方式就是將數(shù)列和元組通過enumerate方式遍歷

格式,注意順序,第一個是索引,第二個參數(shù)是值:

#!/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}')

2.5、逆序技巧

數(shù)列逆序輸出小技巧,-1表示從最后一個值反序輸出
[1,2,3,4,5][::-1]

#!/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、自定義排序規(guī)則

1)按照order的元素作為lst對應位置的元素的應該順序

2)并按照該順序重新排列l(wèi)st,返回排序后的結果列表

3)支持逆序

4、自定義排序編碼

4.1、函數(shù)命名

定義函數(shù)名為,sort_by

def sort_by(lst:list, order:list, reverse=False)->list:
    pass

4.2、定義變量

定義兩組list數(shù)列如下

list=['python','is','very','good','code']
numValue=[19,95,11,29,5,26,3,6]

4.3、實現(xiàn)效果

通過上面的一些知識點了解,即可完成數(shù)列的自定義正序排序和逆序排序

通過指定下標進行輸出,并可設置逆序輸出

完整代碼如下

#!/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快速排序通過分界值將數(shù)組分成左右兩部分
6希爾排序是插入排序的一種又稱“縮小增量排序

總結:

溫故而知新,入門開發(fā)語言,就是需要不斷的把基礎打穩(wěn),才能更好的進階!

到此這篇關于Python實現(xiàn)指定數(shù)組下標值正序與倒序排序算法功能的文章就介紹到這了,更多相關Python指定數(shù)組下標值正序與倒序排序內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論

钟祥市| 天等县| 太保市| 玉田县| 得荣县| 肥西县| 陆川县| 石泉县| 贵州省| 乐业县| 平罗县| 柘荣县| 文安县| 全州县| 石首市| 乡宁县| 肥城市| 桃江县| 读书| 日喀则市| 广东省| 西充县| 西安市| 天气| 黑水县| 安阳市| 丘北县| 寿阳县| 隆尧县| 栖霞市| 永嘉县| 怀宁县| 鹤峰县| 津南区| 赞皇县| 忻城县| 河西区| 抚州市| 齐齐哈尔市| 婺源县| 安顺市|