Python合集之Python列表(五)

2022-06-08 12:24:11 字數 2160 閱讀 4410

在上一節的合集中,我們了解了python 列表中元素的統計及計算的相關知識,本節我們將進一步了解一下python列表中元素的排序的相關知識。

在實際開發中,經常需要對列表進行排序。python中提供了兩種常用的對列表進行排序的方法:使用列表物件的sort()方法,使用內建的sorted()函式。

列表物件提供了sort()防範用於對原列表中的元素進行排序。排序後原列表中的元素順序發生改變,列表物件的sort()方法的語法格式如下:

listname.sort(key=none,reverse=false)

引數說明:

listname:表示要進行排序的列表

key:表示指定從每乙個元素中提取乙個用於比較的鍵(例如:設定 key=str.lower 表示在排序時不區分字母大小寫)

reverse:可選引數,如果將其值設定為true,則表示降序排列,如果為false,則表示公升序排列,預設為公升序排列。

例如:定義乙個儲存10名學生語文成績的列表,使用sort()方法對其進行排序。**如下:

grade=[98,99,97,100,100,96,94,89,95,100]

print("

原列表:

",grade)

grade.sort()

#進行公升序排列

print("

公升序:"

,grade)

grade.sort(reverse=true) #

進行降序排列

print("

降序:",grade)

使用sort()方法進行數值列表的排序比較簡單,但是使用sort()方法對字串列表進行排序時,採用的規則是先對大寫字母進行排序,然後在對小寫字母進行排序。如果想要對字串進行排序(不區分大小寫字母),需要指定其key引數。

例如:定義乙個儲存英文本串的列表,然後使用sort()方法對其進行公升序排列,可以使用下面的**:

char=["

cat","

tom","

angela

","pet"]

char.sort()

#預設區分大小寫字母排序

print("

區分大小寫字母

",char)

char.sort(key=str.lower) #

不區分大小寫字母排序

print("

不區分大小寫字母

",char)

注:採用sort()方法對列表進行排序時,對中文的支援不好,排序的結果與我們常用的音序排序法或者筆畫排序法不一致,如果需要實現對中文內容的列表排序,還需要重新編寫相應的方法進行處理,不能直接使用sort()方法。

在python中,提供了sorted()函式,用於對列表進行排序,使用該函式進行排序後,原列表的元素順序不變。sorted()函式的語法格式如下:

sorted(iterable,key=none,reverse=false)

引數說明:

iterable:表示要進行排序的列表名稱

key:表示指定從每個元素中提取乙個用於比較的鍵(例如:設定 key=str.lower 表示在排序時不區分大小寫)

reverse:可選引數,如果將其指定為true 則表示為降序排列,如果為false 則表示公升序排序。

例如:定義乙個儲存10名學生語文成績的列表,然後使用sorted()函式對其進行排序,**如下:

grade=[98,99,100,100,96,94,89,95,100]

grade_as=sorted(grade) #

進行公升序排列

print("公升序"

,grade_as)

grade_des=sorted(grade,reverse=true) #

進行降序排列

print("降序"

,grade_des)

print("

原序列",grade)

注:列表物件的sort()方法和內建的sorted()函式的作用基本相同,不同點在於使用sort()方法會改變原列表的元素順序,而使用sorted()函式時,會建立原列表的副本,該副本為排序後的列表。

花絮:

Python合集之Python字典(四)

ps 前段時間因為年底時間比較繁忙,沒有及時更新,望大家見諒,今天趁著大年初一趕緊給大家更新一波。由於字典是可變序列,所以可以隨時在字典中新增 鍵 值 對 向字典中新增元素的語法格式如下 dictionary key value 引數說明 dictionary 表示字典名稱 key 表示要新增元素的...

Python合集之Python元組(一)

在上一節的合集中,我們了解了python的二維列表的相關知識,本節我們將進一步了解一下python元組的相關知識。元組是python中另一種重要的序列結構,與列表類似,也是由一系列按特定順序排列的元素組成,但是他是不可變序列。因此,元組也可以稱為不可變的列表。在形式上,元組的所有元素都放在 中,兩個...

Python合集之Python選擇語句(三)

在上一節的合集中,我們了解了python流程控制語句中 if else 的相關知識,本節我們將進一步了解一下python流程控制語句中 if elif else.語句。在開發程式的時候,如果遇到多選一的情況,則可以使用 if.elif.else.語句,該語句是乙個多分支選擇語句,通常表現為 如果滿足...