在我們創建的列表中,列表元素的排列順序常常是無法預測的。因爲我們並非總是能控制用戶提供數據的順序。這雖然在大多數情況下是不可避免的。但你經常需要以特定的順序呈現信息。有時候,你希望保留列表元素最初的排列順序。而有時候又需要調整排列順序。
使用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
***這個意思就是說:列表索引超出範圍***
注意:
發生列表索引錯誤時,我們可以先嚐試將列表長度打印出來,我們看看列表長度是不是跟我們認爲的長度一致。就很快找出我們的問題所在。