組織列表:
在你創建的列表中,元素的排列順序常常是無法預測的,因為你並非總能控制用戶提供數據的順序。這雖然在大多數情況下都是
不可避免的,但你經常需求以特定的順序呈現信息。有時候,你希望保留列表最初的排列順序,而有時候又需要調整排列順序。
Python提供了很多組織列表的方式,可根據具體情況選用。
sort()
Python方法sort()讓你能夠較為輕松地對列表進行排序。
cars = ['bmw','audi','toyota','subaru'] cars.sort() print cars
方法sort(),永久性地修改了列表元素的排序順序。現在,我們可以看到再也無法恢復到原來的順序了
['audi', 'bmw', 'subaru', 'toyota']
你還可以按與字母相反的順序排列列表元素,為此,只需向sort()方法傳遞reverse=True。下面的示列我們可以看到
cars = ['bmw','audi','toyota','subaru'] cars.sort(reverse=True) print cars
同樣,對列表元素排列順序的修改是永久性的:
['toyota', 'subaru', 'bmw', 'audi']
sorted()
要保留列表元素原來的排列順序,同時以特定的順序呈現它們,可使用函數sorted()。函數sorted()讓你能夠按特定的順序顯示列表元素,同時不影響它們在列表中
原始排列順序。
下面嘗試對汽車列表調用這個函數。
cars = ['bmw','audi','toyota','subaru'] #1. print("Here is the original list:") print(cars) #2. print("\nHere is the sorted list:") print(sorted(cars)) #3. print("\nHere is the original list again:") print(cars)
我們首先按原始順序打印列表,在按照順序顯示該列表。以特定順序顯示列表,我們在進行核實,確認列表元素的排列順序與以前相同
Here is the original list: ['bmw', 'audi', 'toyota', 'subaru'] Here is the sorted list: ['audi', 'bmw', 'subaru', 'toyota'] Here is the original list again: ['bmw', 'audi', 'toyota', 'subaru']
注意:調用函數sorted()后,列表元素的排列順序並沒有變。如果你要按與字母順序相反的順序顯示列表,也可向函數sorted()傳遞參數reverse=True。