您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“Python如何實現(xiàn)指定數(shù)組下標(biāo)值正序與倒序排序”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“Python如何實現(xiàn)指定數(shù)組下標(biāo)值正序與倒序排序”吧!
在實現(xiàn)自定義排序前,先來了解下基本的知識點和簡單舉例!
編號 | 語言或插件 | 修飾符 | 說明 |
---|---|---|---|
1 | python | def | 定義方法關(guān)鍵詞 |
2 | python | list() | 數(shù)列,就是數(shù)組,方括號括起來值,遍歷只能獲取到值 |
3 | python | tule() | 元組,括號括起來值,遍歷可獲取到值和下標(biāo) |
4 | python | enumerate() | 函數(shù)用于遍歷序列中的元素以及它們的索引 |
5 | python | len() | 統(tǒng)計長度 |
6 | python | 逆序小技巧 | [1,2,3,4,5][::-1] |
list,數(shù)列,結(jié)合for循環(huán)遍歷時,只能遍歷值,無法獲取到下標(biāo),如下方式會報錯
定義變量并賦值:list=['python','is','very','good','code']
對于以為數(shù)組,for循環(huán)遍歷,直接就是值,而不是下標(biāo)
可以獲取數(shù)組長度,然后結(jié)合for和range通過下標(biāo)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'下標(biāo)={index},值={value}')
還有一種方式就是將數(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'下標(biāo)={index},值={value}')
數(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')
1)按照order的元素作為lst對應(yīng)位置的元素的應(yīng)該順序
2)并按照該順序重新排列l(wèi)st,返回排序后的結(jié)果列表
3)支持逆序
定義函數(shù)名為,sort_by
def sort_by(lst:list, order:list, reverse=False)->list: pass
定義兩組list數(shù)列如下
list=['python','is','very','good','code'] numValue=[19,95,11,29,5,26,3,6]
通過上面的一些知識點了解,即可完成數(shù)列的自定義正序排序和逆序排序
通過指定下標(biāo)進行輸出,并可設(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))
編號 | 算法名稱 | 說明 |
---|---|---|
1 | 插入排序 | 插入到已經(jīng)排好序的有序表中 |
2 | 選擇排序 | 選最小或最大放到排序位置 |
3 | 冒泡排序 | 重復(fù)地走訪過要排序的元素列 |
4 | 歸并排序 | 將已有序的子序列合并,得到完全有序的序列 |
5 | 快速排序 | 通過分界值將數(shù)組分成左右兩部分 |
6 | 希爾排序 | 是插入排序的一種又稱“縮小增量排序 |
到此,相信大家對“Python如何實現(xiàn)指定數(shù)組下標(biāo)值正序與倒序排序”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。