列表是由一系列按特定順序排列的元素組成的物件。因為列表通常包含多個元素, 所以建議給列表指定一個表示複數的名稱。
我們用方括號( [] ) 來表示列表, 並用逗號來分隔其中的元素。
types=['娛樂','體育','科技']
print(types)
複製程式碼
執行結果:
可以看到,列印列表的同時,也會將方括號列印出來。
1 獲取元素
要獲取列表中的某個元素, 在方括號內指定元素的索引即可:
print('第三個型別:'+types[2])
複製程式碼
執行結果:
當我們請求獲取列表元素時, 只會返回該元素本身。
2 索引從 0 開始
跟大多數程式語言相同,索引從 0 開始計數。因此,需要獲取列表的任何元素, 都可將其位置減1, 作為索引。
將索引指定為 -1,還可以獲取最後一個列表元素,這樣就可以在不知道列表長度的情況下,獲取最後一個元素:
print('最後一個:'+types[-1])
複製程式碼
執行結果:
這種語法也適用於其他負數索引。索引 -2 獲取倒數第二個列表元素, 索引 -3 獲取倒數第三個列表元素, 以此類推。
print('倒數第二個:'+types[-2])
複製程式碼
執行結果:
3 新增元素
3.1 列表末尾
append() 方法可以將元素附加到列表末尾:
types.append('財經')
print(types)
複製程式碼
執行結果:
append() 方法很適合動態地建立列表。我們可以先建立一個空列表, 然後再使用一系列的append() 方法為列表新增元素。
colors=[]
colors.append('綠色')
colors.append('藍色')
colors.append('紫色')
print(colors)
複製程式碼
執行結果:
3.2 指定位置
insert() 可以在列表的任意位置新增新元素。這個方法的入參是新元素的索引和值。
colors.insert(0,'紅色')
print(colors)
複製程式碼
執行結果:
在這個示例中, 值 ' 紅色' 被插入到了列表頭,列表中既有的元素都右移了一個位置。
4 修改元素
修改列表元素的語法與獲取列表元素的語法相似。我們可指定列表名、要修改的元素索引以及新值:
colors[0]='白色'
print(colors)
複製程式碼
執行結果:
5 刪除元素
5.1 del()
如果知道要刪除的元素在列表中的位置,那麼可以使用 del():
del colors[0]
print(colors)
複製程式碼
執行結果:
5.2 pop()
把列表想象成一個棧。pop() 方法會彈出棧頂元素(即列表末尾最後一個元素),並返回這個元素。
print('執行前:'+str(colors))
poped_color=colors.pop()
print('棧頂元素:'+poped_color)
print('執行後:'+str(colors))
複製程式碼
執行結果:
只要指定好要刪除的元素索引,pop() 也可以用來刪除列表中任何位置的元素:
print('執行前:'+str(colors))
poped_color=colors.pop(0)
print('刪除的元素:'+poped_color)
print('執行後:'+str(colors))
複製程式碼
執行結果:
5.3 比較 del() 與 pop()
- del() :從列表中刪除一個元素, 且不再使用它。
- pop():從列表中刪除一個元素, 且還需要使用它。
5.4 根據值刪除 remove()
print('執行前:'+str(colors))
colors.remove('藍色')
print('執行後:'+str(colors))
複製程式碼
執行結果:
**注意:**remove() 只會刪除第一個指定的值。 如果需要刪除多個指定的值, 那麼就需要使用迴圈咯O(∩_∩)O~
6 排序
6.1 永久性排序 sort()
types=['sport','travel','business']
types.sort()
print("按字母順序正序排序後:"+str(types));
types.sort(reverse=True)
print("按字母順序逆序排序後:"+str(types));
複製程式碼
執行結果:
sort() 會永久性(再也恢復不回去咯)地改變列表元素的排列順序(按字母順序)。如果需要對中文的拼音進行排序,需要引入第三方庫。
為 sort() 方法傳遞引數 reverse=True,就可以按照字母順序逆序的規則來排列元素。
6.2 臨時排序 sorted()
函式sorted() 可以保留列表元素原有的排列順序, 同時返回排序後的列表。
types=['sport','travel','business']
print("排序後:"+str(sorted(types)));
print("原列表:"+str(types));
print("按字母順序逆序排序後:"+str(sorted(types,reverse=True)));
複製程式碼
執行結果:
**注意:**呼叫函式 sorted() 後, 原有列表的元素排列順序沒有被改變,所以叫臨時排序。
sorted() 函式也支援引數 reverse=True,按照字母順序逆序的規則來排列元素。
6.3 倒序 reverse()
reverse() 會反轉列表原有元素的排列順序。
types=['娛樂','體育','科技']
print('倒序前:'+str(types))
types.reverse()
print('倒序後:'+str(types))
複製程式碼
執行結果:
7 列表長度 len()
types=['娛樂','體育','科技']
print(len(types))
複製程式碼
執行結果:
8 索引錯誤
發生索引錯誤時, 建議將列表或長度列印出來,通過檢視這些內容, 可以幫助我們找出錯誤引發的原因哦O(∩_∩)O~