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

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

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

前言

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

1、知識(shí)點(diǎn)

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

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

2、數(shù)列和元組

2.1、錯(cuò)誤遍歷方式

list,數(shù)列,結(jié)合for循環(huán)遍歷時(shí),只能遍歷值,無法獲取到下標(biāo),如下方式會(huì)報(bào)錯(cuò)

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

2.2、正確遍歷方式

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

2.3、下標(biāo)方式遍歷

可以獲取數(shù)組長(zhǎng)度,然后結(jié)合for和range通過下標(biāo)0開始進(jìn)行遍歷,如下

代碼如下

#!/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'下標(biāo)={index},值={value}')

2.4、enumerate方式遍歷

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

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

#!/usr/bin/python3
# -*- coding: utf-8 -*-
# 2023-02-16

list=['python','is','very','good','code']

for index,value in enumerate(list):
    print(f'下標(biāo)={index},值={value}')

2.5、逆序技巧

數(shù)列逆序輸出小技巧,-1表示從最后一個(gè)值反序輸出
[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對(duì)應(yīng)位置的元素的應(yīng)該順序

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

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、實(shí)現(xiàn)效果

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

通過指定下標(biāo)進(jì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、常見排序算法

編號(hào)算法名稱說明
1插入排序插入到已經(jīng)排好序的有序表中
2選擇排序選最小或最大放到排序位置
3冒泡排序重復(fù)地走訪過要排序的元素列
4歸并排序將已有序的子序列合并,得到完全有序的序列
5快速排序通過分界值將數(shù)組分成左右兩部分
6希爾排序是插入排序的一種又稱“縮小增量排序

總結(jié):

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

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

相關(guān)文章

最新評(píng)論

梅州市| 小金县| 方正县| 玉林市| 田阳县| 牟定县| 阳泉市| 临漳县| 阿坝| 娄烦县| 藁城市| 望谟县| 阳东县| 黄龙县| 丽水市| 清流县| 丽水市| 西畴县| 汉沽区| 巴东县| 安泽县| 临漳县| 松阳县| 大冶市| 榆树市| 当涂县| 新沂市| 常熟市| 贵阳市| 万州区| 德令哈市| 永春县| 五大连池市| 崇阳县| 嵊州市| 德兴市| 岳西县| 伊吾县| 临清市| 临西县| 固始县|