【編測編學】零基礎學python_08_列表(排序+反轉+長度)
在你建立的列表中,元素的排列順序常常是無法預測的,因為你並非總能控制使用者提供資料的順序。這雖然在大多數情況下都是不可避免的,但你經常需要以特定的順序呈現資訊。有時候,你希望保留列表元素最初的排列順序,而有時候又需要調整排列順序。Python提供了很多組織列表的方式,可根據具體情況選用。
1.使用方法sort() 對列表進行永久性排序
Python方法sort() 讓你能夠較為輕鬆地對列表進行排序。假設你有一個汽車列表,並要讓其中的汽車按字母順序排列。為簡化這項任務,我們假設該列表中的所有值都是小寫的。
cars = ['bmw', 'audi', 'toyota', 'subaru']
cars.sort()
print(cars)方法sort() 永久性地修改了列表元素的排列順序。現在,汽車是按字母順序排列的,再也無法恢復到原來的排列順序:
你還可以按與字母順序相反的順序排列列表元素,為此,只需向sort() 方法傳遞引數reverse=True 。下面的示例將汽車列表按與字母順序相反的順序排列:
cars = ['bmw', 'audi', 'toyota', 'subaru']
cars.sort(reverse=True)
print(cars)
同樣,對列表元素排列順序的修改是永久性的:
['toyota', 'subaru', 'bmw', 'audi']
2.使用函式sorted() 對列表進行臨時排序
要保留列表元素原來的排列順序,同時以特定的順序呈現它們,可使用函式sorted() 。函式sorted() 讓你能夠按特定順序顯示列表元素,同時不影響它們在列表中的原始排列順序。
下面嘗試對汽車列表呼叫這個函式。
cars = ['bmw', 'audi', 'toyota', 'subaru']
print("Here is the original list:")
print(cars)
print("\nHere is the sorted list:")
print(sorted(cars))
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 。
注意在並非所有的值都是小寫時,按字母順序排列列表要複雜些。決定排列順序時,有多種解讀大寫字母的方式,要指定準確的排列順序,可能比我們這裡所做的要複雜。然而,大多數排序方式都基於本節介紹的知識。
3.倒著列印列表
要反轉列表元素的排列順序,可使用方法reverse() 。假設汽車列表是按購買時間排列的,可輕鬆地按相反的順序排列其中的汽車:
cars = ['bmw', 'audi', 'toyota', 'subaru']
print(cars)
cars.reverse()
print(cars)
注意,reverse() 不是指按與字母順序相反的順序排列列表元素,而只是反轉列表元素的排列順序:
['bmw', 'audi', 'toyota', 'subaru']
['subaru', 'toyota', 'audi', 'bmw']
方法reverse() 永久性地修改列表元素的排列順序,但可隨時恢復到原來的排列順序,為此只需對列表再次呼叫reverse() 即可。
4.確定列表的長度
使用函式len() 可快速獲悉列表的長度。在下面的示例中,列表包含4個元素,因此其長度為4:
>>> cars = ['bmw', 'audi', 'toyota', 'subaru']
>>> len(cars)
在你需要完成如下任務時,len() 很有用:確定還有多少個外星人未被射殺,需要管理多少項視覺化資料,網站有多少註冊使用者等。
注意 Python計算列表元素數時從1開始,因此確定列表長度時,你應該不會遇到差一個的錯誤。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69985967/viewspace-2735771/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【編測編學】零基礎學python_10_列表(建立數值列表 )Python
- 【編測編學】零基礎學python_09_列表(操作列表之遍歷列表)Python
- 【編測編學】零基礎學python_06_列表(認識和使用列表)Python
- 【編測編學】零基礎學python_07_列表(修改、新增和刪除元素)Python
- 【編測編學】零基礎學python_11_列表(切片+遍歷切片+複製)Python
- 【編測編學】零基礎學python_02_字串(大小寫轉換)Python字串
- 【編測編學】零基礎學python_04_字串(刪除空白)Python字串
- 【編測編學】零基礎學python_03_字串(拼接+換行+製表符)Python字串
- 【編測編學】MySQL資料庫基礎知識MySql資料庫
- 【編測編學】MySQL資料庫基礎知識2MySql資料庫
- Python 基礎 2-3 列表的反轉與排序Python排序
- [總結]FFMPEG視音訊編解碼零基礎學習方法音訊
- 【編測編學】介面測試必備面試題(上)面試題
- 【編測編學】如何做好大資料測試大資料
- 【編測編學】軟體測試的就業如何?就業
- Python零基礎學習筆記(十五)——list(列表)Python筆記
- 零基礎學Java需要多長時間?Java
- 仿 iOS 列表的編輯功能 – 排序篇iOS排序
- 仿 iOS 列表的編輯功能 - 排序篇iOS排序
- 【編測編學】自動化測試面試必背(上)面試
- 【編測編學】自動化測試面試必背(下)面試
- 32:行程長度編碼行程
- 【編測編學】介面測試必備面試題必背(下)面試題
- Python零基礎可以學習嗎?學習難度大嗎?Python
- 【編測編學】分享一套好用的功能測試用例編寫框架框架
- iPhone和iPad程式設計入門 零基礎學習編寫AppiPhoneiPad程式設計APP
- 彙編基礎學習筆記筆記
- 零基礎如何學習軟體測試
- 零基礎學軟體測試難嗎
- 學習Python零基礎需要學習多久?週期多長?Python
- 列表篇_深,淺拷貝,刪除,反轉,排序排序
- 學習編碼需要多長時間?
- 零基礎參加軟體測試培訓需要學多長時間
- Python基礎_根據隨機數_按長度_升序或降序排序列表Python隨機排序
- Python零基礎好學嗎?零基礎如何學習Python?Python
- 反彙編器-javap.exe(轉)Java
- 轉行Java能學會嗎?零基礎學習Java的學習路線Java
- Java編譯與反編譯Java編譯