一、修改原列表,不新建列表的排序
import random
a = [20,30,10,40]
a.sort() #列表的sort()函數方法,默認升序排序
print(a) #結果:[10, 20, 30, 40]
a.sort(reverse=True) #列表的sort()函數方法,reverse=True,表示降序排序
print(a) #結果:[40, 30, 20, 10]
random.shuffle(a) #shuffle(a)方法,打亂列表a的順序
print(a)
二、新建列表的排序
通過內置函數sorted()進行排序,這個方法返回新列表,不對原列表做修改。
只要是內置函數,就可以直接使用,不用對象調用
a = [20,30,10,40]
print(id(a)) #2028080208392
a=sorted(a) #內置的sorted(a)函數方法,創建新的列表,默認升序排序
print(id(a)) #2028080205960
print(a) #結果:[10, 20, 30, 40]
b = [20,30,10,40]
b = sorted(b,reverse=True) #reverse=True,表示降序排序
print(b) #結果:[40, 30, 20, 10]
三、reversed()返回迭代器
內置函數reversed()也支持進行逆序排列,與列表對象的reverse()方法不同的是,內置函數
reversed()不對原列表做任何修改,只是返回一個逆序排列的迭代器對象
a = [20,30,10,40]
c=reversed(a)
print(list(c)) #結果:[40, 10, 30, 20]
print(list(c)) #結果:[]
注:我們打印輸出 c 發現提示是:list_reverseiterator。也就是一個迭代對象。同時,我們使用
list(c)進行輸出,發現只能使用一次。第一次輸出了元素,第二次爲空。那是因爲迭代對象
在第一次時已經遍歷結束了,第二次不能再使用。
四、列表相關的其他內置函數
max() 求列表的最大值(僅針對數值類型的列表)
min() 求列表的最小值(僅針對數值類型的列表)
sum() 求列表的數值的總和(僅針對數值類型的列表)
a = [20,30,10,40]
print(max(a)) #結果:40
print(min(a)) #結果:10
print(sum(a)) #結果:100