五、Python第五課——Python中組織列表的相關函數

目錄

一、用sort()函數對列表進行永久排序

二、用sorted()函數對列表進行臨時排序?

三、用reverse()函數對列表進行列表原始排序的逆序輸出

四、使用len()函數確定列表長度


? ? ? ?創建列表后,內部的元素逐漸增多,其排列順序也是無法預測的,因為用戶并非總能控制用戶提供數據的順序。由此,我們經常需要以特定的順序呈現信息。

一、用sort()函數對列表進行永久排序

sort()函數可以幫助我們較為方便的對列表進行排序,有如下特點:

sort函數的原型為:sort(self,key,reverse=False),可以看出有三個參數!(這里的reverse=False是默認的,所以直接為最后一個參數賦值了

self:參數self是表明該sort函數是使用何種算法進行排序的,一般是歸并排序。目前,我們還無需重寫此參數,所以在使用時可以忽略此函數

key:參數key用來指定一個函數,此函數代表排序的規則(也就是你按照什么規則對你的序列進行排序),在每次排序時調用;

reverse:參數reverse是用來表明是否逆序,默認是等于False,按照升序的規則進行排序的。當reverse=True時,便會按照降序進行排序。我們一般經常修改此參數。

代碼說明:

cars=["BMW","Audi","Toyota","Subaru","BYD"]
print(cars)#打印列表
cars.sort()#按字母順序排序
print(cars)#打印排序后的列表
cars.sort(reverse=True)#按字母順序的逆序排序
print(cars)#打印排序后的列表

?注:在排序時,如果列表中元素開頭字母,大小寫不一致,那么調用此函數后的排序效果可能不是大家所想的那樣!

有如下實驗:假如元素開頭字母相同,則何如?

cars=["BBM","BDC","BDA","BYD"]
print(cars)#打印列表
cars.sort()#按字母順序排序
print(cars)#打印排序后的列表

?由上述實驗可以看出,在字母大小寫一致的情況下,以字典序為例:sort()函數會先比較各個元素的首字母,如果發現元素的首字母相同,則會比較第二個字母,其他同理。總之排序之后的結果一定是:元素首字母不同,則是字典序;首字母相同的,第二個字母是字典序!

二、用sorted()函數對列表進行臨時排序?

可以使用sorted()函數對列表進行臨時排序,不影響他們在列表中的原始排序?

?代碼說明:

cars=["BMW","Audi","Toyota","Subaru"]
print("這是原始序列:")
print(cars)#打印原始列表
print("這是按字典序排序后的臨時序列:")
print(sorted(cars))#打印排序后的列表
print("再次輸出原始序列:(證明是不改變原始序列的排序)")
print(cars)#再次輸出原始序列說明沒有變化

?

當然也可以向sorted()函數傳遞按字典序逆序排序,上述代碼修改成如下代碼即可:

print(sorted(cars,reverse=True))#打印排序后的列表

三、用reverse()函數對列表進行列表原始排序的逆序輸出

?正如函數名“reverse”,這個函數的功能就是將列表中的元素“翻轉”。例如:list=["A","B","C"],使用rverse()函數后,列表變為list=["C","B","A"]。這種“翻轉”是永久的,如果想要恢復到原來的順序,再次使用以下本函數就OK了!有如下代碼:

cars=["BMW","Audi","Toyota","Subaru"]
print("這是原始序列:")
print(cars)#打印原始列表
cars.reverse()
print("這是”翻轉“后的序列:")
print(cars)

四、使用len()函數確定列表長度

想要盡快知道列表的長度(列表中元素的數量),就需要使用len()函數!

代碼舉例:

cars=["BMW","Audi","Toyota","Subaru"]
print("cars列表的長度為:",len(cars))

?這里的計數是從1開始的,所以不會出現“列表元素的數量”差“1”的現象

?本節課的內容較少,但是需要慢慢消化。

?

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/531083.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/531083.shtml
英文地址,請注明出處:http://en.pswp.cn/news/531083.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

如何正確下載、安裝Codeblocks?

目錄 一、Codeblocks的下載 二、Codeblocks的安裝 三、Codeblocks的運行 相信很多同學在初學C語言時都會選擇一個短小精悍的代碼編輯器,如CodeBlocks(不說別的了,直接切入正題)。 在2020年(今年)3月份-…

Python:創建列表,其中包含數字1-1000000,為什么Pycharm控制臺結果顯示不完整?

目錄 一、問題描述(尋找解決方法的同學直接看“標題二”) 二、解決辦法 一、問題描述(尋找解決方法的同學直接看“標題二”) 在學習Python過程中遇到一個這樣的問題,也算是一個小BUG吧。題目大意是這樣的&#xff…

六、Python第六課——Python中的for循環及數字列表

目錄 一、Python中的for循環 1、for循環語句的聲明。 2、for循環縮進常見問題 二、數字列表 1、函數range() 2、使用range()函數創建數字列表 3、使用一系列函數處理數字列表(統計) 4、列表解析(生成列表的簡潔方法) 一…

七、Python第七課——有關列表的二三事(切片、切片的遍歷和復制)

目錄 一、切片 二、遍歷切片 三、列表的復制 一、切片 此前,我們學習了如何訪問單個列表以及如何處理列表中的所有元素,那么我們如何處理列表中的部分元素呢?這就引出一個概念“切片” 。我們可以把列表看成是面包,“切片”…

八、Python第八課——元組與列表、代碼格式

(請先看置頂博文)https://blog.csdn.net/GenuineMonster/article/details/104495419 目錄 一、元組的定義 二、元組的遍歷 三、代碼格式 一、元組的定義 1、元組:不可變的列表稱為元組。這個是相對于普通列表而言的,普通列表…

九、Python第九課——Python中的if語句與運用

(請先看置頂博文)https://blog.csdn.net/GenuineMonster/article/details/104495419 目錄 一、if語句 1、檢查變量存儲的值是否相等 2、判定字母或字符串時區別大小寫 3、檢查多個條件 4、檢查特定值是否在列表中 二、if-else語句和if-elif-el…

十、Python第十課——字典的些許知識(重點)

(請先看置頂博文)https://blog.csdn.net/GenuineMonster/article/details/104495419 目錄 (請先看置頂博文)https://blog.csdn.net/GenuineMonster/article/details/104495419 初識字典 1、創建字典 2、字典的“增刪改查” …

百度地圖API如何申請?(自認為比較詳細,如解決了你的問題請收藏、點贊、關注)

(請先看置頂博文)本博打開方式,請詳讀_liO_Oil的博客-CSDN博客_怎么把androidstudio卸載干凈 注意:自己申請的AK要保存好,最好不要外借,避免不必要的麻煩!(寫在前面) 目…

PythonPyqt5項目開發完成后如何使用pyinstaller打包——以Pycharm編輯器為例(目前為止最正確的版本,成功打包日期為2020.11.26)

(請先看置頂博文)本博打開方式,請詳讀_liO_Oil的博客-CSDN博客_怎么把androidstudio卸載干凈 最近用Python開發了一個可視化界面,開發過程如魚得水,幾乎沒有BUG出現(項目簡單)。但是在臨近交付時…

十一、Python第十一課——用戶輸入和另一種循環(While)

(請先看置頂博文)https://blog.csdn.net/GenuineMonster/article/details/104495419 學了這么久的Python,大家肯定會好奇,不是說機器學習嗎?不是人機交互嗎?不是人工智能嗎?怎么我學了Python都十…

如何讓新創建的Python文件自動生成作者信息等內容(以Pycharm為例)

(請先看置頂博文)https://blog.csdn.net/GenuineMonster/article/details/104495419 打開Pycharm軟件后,點擊“File”,然后點擊“Settings”,就會出現下面截圖界面:然后按照箭頭所指,在對應位置…

如何將谷歌瀏覽器的背景色(包括顯示的網站界面等)全部調為黑色?2020.12.28

(請先看置頂博文)https://blog.csdn.net/GenuineMonster/article/details/104495419 因為電腦顯示器正對窗戶的原因,平時為了透氣通風不能使用遮光簾,所以我將整個電腦的所有軟件的主題色設為黑色,這樣能降低一些光的…

Windows 10如何消除文件夾右上角的“相對箭頭”?

(請先看置頂博文)本博打開方式!!!請詳讀!!!請詳讀!!!請詳讀!!!_Cat-CSDN博客 整理筆記本電腦時發現&#xff0…

目標檢測第1步:如何在Windows 10下安裝MiniConda?

(請先看置頂博文)本博打開方式!!!請詳讀!!!請詳讀!!!請詳讀!!!_Cat-CSDN博客 目錄 一、Conda是什么&#xff…

十二、Python第十二課——函數

(請先看置頂博文)https://blog.csdn.net/GenuineMonster/article/details/104495419 目錄 (請先看置頂博文)https://blog.csdn.net/GenuineMonster/article/details/104495419 目錄 目錄 (請先看置頂博文&#xff…

目標檢測第2步:如何在Windows 10下安裝Anaconda?

(請先看置頂博文)本博打開方式!!!請詳讀!!!請詳讀!!!請詳讀!!!_Cat-CSDN博客 想要學習目標檢測的朋友可能會發…

目標檢測第3步:如何在Windows 10系統下安裝CUDA(更新時間2022.03.22)

(請先看置頂博文)本博打開方式!!!請詳讀!!!請詳讀!!!請詳讀!!!_Cat-CSDN博客 目錄 一、自檢 1、查看PC是否…

目標檢測第5步:如何在Windows 10系統下,搭建YOLOv5(5.0)環境?保姆級,沒有人比這個更詳細了(更新時間2022.3.22)

(請先看置頂博文)本博打開方式!!!請詳讀!!!請詳讀!!!請詳讀!!!_Cat-CSDN博客 目錄 一、安裝Anaconda或Minic…

導入自己寫的類,卻被標紅,原因及解決方法是?(Pycharm編輯器為例)

(請先看這篇文章:https://blog.csdn.net/GenuineMonster/article/details/104495419) 如果看完這篇博文,你的問題還是沒有解決,那么加我的公眾號,后臺發消息給我吧!當天回復&#xff01…

如何將Word與Endnote再次相互關聯?

(請先看置頂博文)本博打開方式!!!請詳讀!!!請詳讀!!!請詳讀!!!_Cat-CSDN博客 Endnote是每一個科研人員都接觸…