列表型別的內建方法
阿新 • • 發佈:2022-03-09
型別轉換
列表的型別轉換可以轉換很多型別,可以作為for物件的資料型別,都可以轉換成列表型別。
print(list('oliver')) # 獲取字串裡的每一個字元作為元素,生成一個列表 print(list({'name': 'oliver', 'hobby': 'music'})) # 只能獲取key鍵作為元素,生成一個列表 print(list((11,22,33,44,55))) # 獲取元組裡的每一個元素,作為元素生成列表 print(list({1, 2, 3, 4, 5})) # 獲取集合裡的每一個元素,生成列表 print(list(True))
其他操作
索引取值
切片操作
list_name = ['oliver', 'age', 'hobby', '16'] # 切片操作(前兩個引數確定取元素的始末位置,第三個確定方向) print(list_name[1:3]) # 從左向右,兩個引數是切片的起止位置,左閉右開 print(list_name[-3:-1]) # 從左向右,位置最末位為-1,然後從-3到-1切片,左閉右開 print(list_name[-1:-3:-1]) # 位置最末位為-1,然後從-1到-3反向切片,左開右閉。第三個引數控制切片方向
步長
list_name = ['oliver', 'age', 'hobby', '16']
print(list_name[1:3:1]) # 從第二個元素到(不包括)第四個元素,不間隔取
print(list_name[-3:-1:1]) # 從第二個元素到(不包括)第四個元素,不間隔取
print(list_name[1:3:2]) # 從第二個元素到(不包括)第四個元素,間隔一個取一個
測量列表中元素的個數:len()
list_name = ['oliver', 'age', 'hobby', '16'] print(len(list_name)) # 測量列表中元素的個數
成員運算
list_name = ['oliver', 'age', 'hobby', '16']
print('oliver' in list_name) # 最小的判斷元素是列表的元素
print('jackie' in list_name) # 判斷該資料是否在列表裡
尾部追加元素:append()、insert()
- 單個元素:append()
list_name = ['oliver', 'age', 'hobby', '16']
list_name.append('jackie')
print(list_name)
- 指定位置插入元素:insert()
list_name = ['oliver', 'age', 'hobby', '16']
list_name.insert(2, 'kitty') # 在列表索引值為2 的位置加上’kitty‘
print(list_name)
合併列表:+
合併或者extend()合併
-
+
合併
list_name = ['oliver', 'age', 'hobby', '16']
list_name_add = ['kevin', 'justin', 'biber', 'faker']
print(list_name + list_name_add) # 將list_name_add合併在list_name後面
- extend()合併
list_name = ['oliver', 'age', 'hobby', '16']
list_name_add = ['kevin', 'justin', 'biber', 'faker']
print(list_name.extend(list_name_add)) # 在原有的列表裡進行更改,並沒有生成新檔案
print(list_name)
刪除元素:del、remove()、pop()
- 刪除指定位置的元素:del
list_name = ['oliver', 'age', 'hobby', '16']
del list_name[3] # 刪除索引值為3的元素
print(list_name)
- 直接刪除某個元素:remove()
list_name = ['oliver', 'age', 'hobby', '16']
list_name.remove('age') # 直接刪除'age'這個字串
print(list_name)
- 延遲刪除(彈出):先把要刪除的元素取出來,如果要用的話,這個要刪除的元素還可以訪問,關鍵字pop()
list_name = ['oliver', 'age', 'hobby', '16']
print(list_name.pop(3)) # 預設為尾部彈出,pop關鍵字括號裡的值是根據索引值彈出,這是生成彈出的那個元素
print(list_name) # 生成彈出元素後的列表
修改列表元素
list_name = ['oliver', 'age', 'hobby', '16']
print(id(list_name)) # 訪問列表的第一個元素地址
list_name[0] = 'barkie' # 修改第一個元素的資料為'barkie'
print(id(list_name)) # 訪問列表的第一個元素地址
print(list_name)
注:兩次輸出的id地址是一樣的,說明這個列表元素的更改是在列表內部進行的,並沒有產生新的地址,也就是說沒有返回新資料
列表元素排序:sort()
num_list = [22, 33, 11, 44, 66, 55]
num_list.sort() # 預設是升序
print(num_list)
num_list.sort(reverse=True) #列表內用reverse關鍵字來完成降序
print(num_list)
元素翻轉:將元素的排列順序反過來
list_name = ['oliver', 'age', 'hobby', '16']
list_name.reverse() # 前後顛倒
print(list_name)
比較運算:其實列表之間的比較只比較第一個對應元素的大小
num_list1 = [33, 44, 55]
num_list2 = [22, 2, 4, 5, 6, 7]
print(num_list1 > num_list2) # 結果為布林值
print(num_list1 < num_list2)
word_list = ['A', 'B', 'C']
word_list_ano = ['a', 'b']
print(word_list > word_list_ano)
print(word_list < word_list_ano)
統計列表內元素出現的個數:count()
num_list = ['oliver', 22, 33, 'oliver', 55, 22, 'oliver', 66, 77, 99, 11, 22, 44, 33, 55, 77, 77, 88, 44, 33, 22]
print(num_list.count(oliver)) # 統計某元素在列表列出現的字數
清空列表:clear()
num_list = ['oliver', 22, 33, 'oliver', 55, 22, 'oliver', 66, 77, 99, 11, 22, 44, 33, 55, 77, 77, 88, 44, 33, 22]
num_list.clear() # 清空列表裡的所有元素
print(num_list)