Python學習系列之列表元素的排序(十二)

2022-05-13 05:42:07 字數 2560 閱讀 7964

一、列表元素的排序操作

常見的兩種排序方式:

呼叫sort()方法,列中的所有元素預設按照從小到大的順序進行排序,可以指定reserve=true,進行降序排序

呼叫內建函式sorted(),可以指定reverse=true,進行降序排序,原列表不發生改變

二、.使用sort()進行排序

1.使用sort()預設排序進行公升序排序

#使用sort()排序

lst=[60,80,50,70,88,32]

print('排序前:',lst,id(lst))

lst.sort()

print('排序後:',lst,id(lst))

執行結果如下:

2.使用sort(reverse=true)進行降序排序

#使用sort(reverse=true)排序

lst=[60,80,50,70,88,32]

print('排序前:',lst,id(lst))

lst.sort(reverse=true)

print('排序後:',lst,id(lst))

執行結果如下:

另:當reverse=true時進行降序排序,如果reverse=false時則進行公升序排序,舉例:

lst=[60,80,50,70,88,32]

print('排序前:',lst,id(lst))

lst.sort(reverse=false)

print('排序後:',lst,id(lst))

執行結果如下:

解析:故sort(reverse=false)可以對列表進行公升序排序,和sort()預設公升序排序的結果一樣

3.使用內建函式sorted()進行公升序排序

舉例:

#呼叫內建函式sorted()進行公升序排序

lst=[60,80,50,70,88,32]

print('排序前:',lst,id(lst))

new_list=sorted(lst)

print('排序後:',new_list,id(new_list))

執行結果如下:

解析:sorted()方法是內建函式,不需要申明和建立,直接使用即可,sorted(lst)表示呼叫sorted函式對lst列表進行公升序排序,排序完成後會生成乙個新的列表物件,原列表不做改變

4.呼叫內建函式sorted(reverse=true)進行降序排序

舉例:

#呼叫內建函式sorted(reverse=true)進行降序排序

lst=[60,80,50,70,88,32]

print('排序前:',lst,id(lst))

new_list=sorted(lst,reverse=true)

print('排序後:',new_list,id(new_list))

執行結果如下:

解析:sorted(lst,reverse=true)表示呼叫sorted函式對列表lst進行排序,reverse=true表示是進行降序排序。呼叫sorted函式就會產生乙個新的列表物件,所以新物件new_list的記憶體位址和原物件lst的記憶體位址不一致。

當reverse=false,依然是對新列表物件new_list進行公升序排序,如下:

#呼叫內建函式sorted(reverse=false)進行公升序排序

lst=[60,80,50,70,88,32]

print('排序前:',lst,id(lst))

new_list=sorted(lst,reverse=false)

print('排序後:',new_list,id(new_list))

執行結果如下:

總結:1.對列表進行排序以後兩種方式,第一種是使用sort方法,需要使用列表物件進行呼叫,不使用引數時預設進行公升序排序,引數是reverse=true時表示進行降序排序,reverse=false時表示進行公升序排序,sort()方法是對列表在原位置進行排序,即在列表內部進行各個值進行位置調整,不會產生新的列表物件

2.第二種是sorted()方法,sorted()是內建函式,直接使用即可,sorted()函式是在不變動原有列表的基礎上,產生乙個新的列表物件,在新列表物件中存放排序後的結果

Python學習之列表

python學習之列表 之前一直對python中建立陣列型別比較矇圈,今天仔細整理加實踐了一下,代如下 建立二維列表 n int input 建立二維列表是不是只能建立列元素一樣的 將列表中的位置都賦值 list 0 2 n 1 for i in range n print list 建立空列表 l...

Python學習之列表

1.list型別 用括號 表示,不同的元素之間可以逗號隔開。list在被初始化後可以被再次修改。注 如果開發者定義了一組值,並且在之後需要不斷對其進行增 刪 改等操作,則應該使用list型別。2.內建函式包括 通用函式 不僅適用數值型別的變數,還適用其他型別的變數 特定函式 只適用數值型別的變數 注...

Python學習筆記之列表元素修改順序

cars bmw audi nisang subaru sort 永久性按字母順序排序 cars.sort print cars sort函式將列表中元素永久性修改順序 cars.sort reverse true print cars reverse true 讓列表元素永久性由字母相反順序排序,...