Python中對列表的組織排序

在我們創建的列表中,列表元素的排列順序常常是無法預測的。因爲我們並非總是能控制用戶提供數據的順序。這雖然在大多數情況下是不可避免的。但你經常需要以特定的順序呈現信息。有時候,你希望保留列表元素最初的排列順序。而有時候又需要調整排列順序。

使用sort()方法對列表進行永久排序

示例代碼:

names = ['c','d','e','g','f',' a','b']
print ( names )
names.sort()  #列表名對方法sort()進行調用
print (names)

輸出結果如下:

['c', 'd', 'e', 'g', 'f', ' a', 'b']
[' a', 'b', 'c', 'd', 'e', 'f', 'g']
[Finished in 0.1s]

還可以按照字母順序相反的順序排列列表元素。爲此,只需向sort()方法傳遞參數 reverse = True
示例代碼:

names = ['c','d','e','g','f',' a','b']
print ( names )
names.sort(reverse = True)
print (names)

輸出結果:

['c', 'd', 'e', 'g', 'f', ' a', 'b']
['g', 'f', 'e', 'd', 'c', 'b', ' a']
[Finished in 0.0s]

使用函數sorted()對列表進行臨時排序

要保留列表元素原來的排列順序,同時以特定的順序呈現他們,可使用函數sorted()。函數sorted()讓你能按照特定順序顯示列表元素,同時不影響它們在列表中的原始排列順序。
示例代碼:

names = ['c','d','e','g','f',' a','b']
print ( names )    #先看一下列表原始的排序方式
print ( sorted(names) )  #輸出臨時的特定排列順序
print ( names )    #驗證一下列表原始的排列順序沒有改變

輸出結果如下:

['c', 'd', 'e', 'g', 'f', ' a', 'b']
[' a', 'b', 'c', 'd', 'e', 'f', 'g']
['c', 'd', 'e', 'g', 'f', ' a', 'b']
[Finished in 0.0s]

如果我們想臨時輸出,按照字母降序排練的臨時輸出,那我們向sorted()函數傳遞一個 reverse = True即可
代碼如下:

names = ['c','d','e','g','f',' a','b']
print ( names )    #先看一下列表原始的排序方式
print ( sorted ( names , reverse = True) )  #輸出臨時的降序特定排列順序
print ( names )    #驗證一下列表原始的排列順序沒有改變

輸出結果如下:

['c', 'd', 'e', 'g', 'f', ' a', 'b']
['g', 'f', 'e', 'd', 'c', 'b', ' a']
['c', 'd', 'e', 'g', 'f', ' a', 'b']
[Finished in 0.0s]

倒着打印列表

要反轉列表元素的排列順序,可使用方法reverse()。
代碼示例如下:

names = ['c','d','e','g','f',' a','b']
print ( names )    #先看一下列表原始的排序方式
names.reverse()
print ( names )    #驗證一下列表原始的排列順序已經改變

輸出結果如下:

['c', 'd', 'e', 'g', 'f', ' a', 'b']
['b', ' a', 'f', 'g', 'e', 'd', 'c']
[Finished in 0.1s]

注意:
reverse()不是指,按照與字母順序相反的順序排列列表元素。而是反轉列表元素的排列順序。
reverse()方法是永久性地修改列表元素的排列順序。如果想恢復原來的排列順序,只需再執行一次reverse()方法即可。

確定列表長度

使用函數len()可以快速知道列表長度,也就是知道列表包含多少個元素。
示例代碼:

names = ['c','d','e','g','f',' a','b']
print ( names )    #先看一下列表原始的排序方式
print ( len(names))    #統計列表元素的個數

輸出結果:

['c', 'd', 'e', 'g', 'f', ' a', 'b']
7
[Finished in 0.0s]

使用列表時避免索引錯誤

示例代碼:

names = ['c','d','e','g','f',' a','b']
print ( names[8] )   #這個列表中的索引最大是6,那我們使用一個8試試

輸出結果:

IndexError: list index out of range 
***這個意思就是說:列表索引超出範圍***

注意:
發生列表索引錯誤時,我們可以先嚐試將列表長度打印出來,我們看看列表長度是不是跟我們認爲的長度一致。就很快找出我們的問題所在。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章