列表簡介
阿新 • • 發佈:2018-11-27
# 3.1 列表是什麼 #由一系列按特定順序排列的元素組成。你可以建立包含字母表中所有字母、數字0~9或所有家庭成員姓名的列表;也可以將任何東西加入列表中,其中的元素之間可以沒有 #任何關係。鑑於列表通常包含多個元素,給列表指定一個表示複數的名稱(如letters 、digits 或names )是個不錯的主意。 #在Python中,用方括號([] )來表示列表,並用逗號來分隔其中的元素。下面是一個簡單的列表示例,這個列表包含幾種自行車: bicycles =['a','b','c'] print(bicycles) #Python將列表打印出來,Python將列印列表的內部表示,包括方括號: # 3.1.1 訪問列表元素 #列表是有序集合,因此要訪問列表的任何元素,只需將該元素的位置或索引告訴Python即可。要訪問列表元素,可指出列表的名稱,再指出元素的索引,並將其放在方括號內。 bicycles =['a','b','c'] #從bicycles中提取第一個 print(bicycles[0]) # 訪問列表元素的語法。當你請求獲取列表元素時,Python只返回該元素,而不包括方括號和引號: print(bicycles[0].title()) #可使用方法title() 讓元素'a' 的格式更整潔 # 3.1.2 索引從0而不是1開始 bicycles =['a','b','c'] #第一個列表元素的索引為0,而不是1 print(bicycles[1]) print(bicycles[-1]) #通過將索引指定為-1 ,可讓Python返回最後一個列表元素 print(bicycles[-2]) #索引-2 返回倒數第二個列表元素 # 3.1.3使用列表中的各個值 bicycles = ['trek','cannon','redline','specli'] message=bicycles[0] #bicycles[0] 的值生成了一個句子,並將其儲存在變數message 中 "+bicycles[0].title() #bicycles[0] 的值生成了一個句子,並將其儲存在變數message 中, print(message) # 3.2.1 修改列表元素 name=['lxy','sm','lcs'] name[0]='lxysm' #將第一個元素的值改為lxysm print(name) # 3.2.2 在列表中新增元素 name=['lxy','sm','lcs'] name.append('lxysma') #append()方法將元素lxysma 新增到了列表末尾.而不影響其他元素 print(name) abc=222222222222222222222222222222222222222222222222222222222222[] abc.append('123') abc.append('456') #先建立一個空列表,再使用一系列的append() 語句新增元素 abc.append('789') #建立一個空列表,用於儲存使用者將要輸入的值,然後將 print(abc) #使用者提供的每個新值附加到列表中。 # 在列表中插入元素 insert() name=['lxy','sm','lcs'] name.insert(0,'lxysm') #方法insert() 在索引0 處新增空間,並將值'lxysm' 儲存到這個地方。這種操作將列表中既有的每個元素都右移一個位置: print(name) # 3.2.3 從列表中刪除元素 name=['lxy','sm','lcs'] del name[0] #del刪除列表name的第一個元素 print(name) # 使用方法pop()刪除元素 name=['lxy','sm','lcs'] pop_name=name.pop() #方法pop() 可刪除列表末尾的元素,並讓你能夠接著使用它 print(name) print(pop_name) #直接使用pop()刪除的元素 #方法pop() 是怎麼起作用的呢?假設列表中的摩托車是按購買時間儲存的,就可使用方法pop() 列印一條訊息,指出最後購買的是哪款摩托車: motorcycles=['honda','yamaha','suzuki'] last_owned=motorcycles.pop() print("the last motorcycle i owned was a "+last_owned.title()) # 彈出列表中任何位置處的元素 motorcycles=['honda','yamaha','suzuki'] last_owned=motorcycles.pop(0) #使用pop() 來刪除列表中任何位置的元素,只需在括號中指定要刪除的元素的索引即可。 print("the last motorcycle i owned was a "+last_owned.title()) #當你使用pop() 時,被彈出的元素就不再在列表中了。 # 如果你要從列表中刪除一個元素,且不再以任何方式使用它,就使用del 語句;如果你要在刪除元 # 素後還能繼續使用它,就使用方法pop() # 根據值刪除元素 remove() motorcycles=['honda','yamaha','suzuki'] motorcycles.remove('yamaha') #如果你只知道要刪除的元素的值,可使用方法remove() print(motorcycles) motorcycles=['honda','yamaha','suzuki'] new_moto="honda" motorcycles.remove(new_moto) #將值honda儲存在變數new_moto中.然後使用變數來告訴python從列表中刪除 print(motorcycles) #方法remove() 只刪除第一個指定的值 # 3.3.1 使用方法sort()對列表進行永久排序 motorcycles=['yonda','aamaha','fuzuki'] motorcycles.sort() #方法sort 永久修改了列表元素的排列順序 print(motorcycles) ## 結果: ['aamaha', 'fuzuki', 'yonda'] sort.motorcycles(reverse=True) #方法sort()方法傳遞引數reverse=True,列表將按字母相反的順序排列 print(motorcycles) ## 結果: ['yonda', 'fuzuki', 'aamaha'] # 3.3.2 使用函式sorted()對列表進行臨時排序 motorcycles=['yonda','aamaha','fuzuki'] print(sorted(motorcycles)) #保留列表元素原來的排列順序,同時以特定的順序呈現它們,可使用函式sorted() print(motorcycles) # 結果: ['aamaha', 'fuzuki', 'yonda'] # ['yonda', 'aamaha', 'fuzuki'] motorcycles=['yonda','aamaha','fuzuki'] print(sorted(motorcycles,reverse=True)) # 可向函式sorted() 傳遞引數reverse=True print(motorcycles) # 結果: ['yonda', 'fuzuki', 'aamaha'] # 結果: ['yonda', 'aamaha', 'fuzuki'] # 3.3.3 倒著列印列表 motorcycles=['yonda','aamaha','fuzuki'] motorcycles.reverse() #反轉列表元素的排列順序,可使用方法reverse() 不是指按與字母順序相反的順序排列列表元素,而只是反轉列表元素的排列順序 print(motorcycles) # 結果: ['fuzuki', 'aamaha', 'yonda'] # 3.3.4 確定列表的長度 motorcycles=['yonda','aamaha','fuzuki'] print(len(motorcycles)) # 函式len()可快速獲取列表的長度 # 3.4 使用列表時避免索引錯誤 motorcycles=['yonda','aamaha','fuzuki'] print(motorcycles[2]) # 索引從0開始