1. 程式人生 > 其它 >列表型別的內建方法

列表型別的內建方法

型別轉換

 列表的型別轉換可以轉換很多型別,可以作為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()

  1. 單個元素:append()
      list_name = ['oliver', 'age', 'hobby', '16']
      list_name.append('jackie')
      print(list_name)
  1. 指定位置插入元素:insert()
      list_name = ['oliver', 'age', 'hobby', '16']
      list_name.insert(2, 'kitty')  # 在列表索引值為2 的位置加上’kitty‘
      print(list_name)

合併列表:+合併或者extend()合併

  1. +合併
      list_name = ['oliver', 'age', 'hobby', '16']
      list_name_add = ['kevin', 'justin', 'biber', 'faker']
      print(list_name + list_name_add)  # 將list_name_add合併在list_name後面
  1. 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()

  1. 刪除指定位置的元素:del
list_name = ['oliver', 'age', 'hobby', '16']
del list_name[3]  # 刪除索引值為3的元素
print(list_name)
  1. 直接刪除某個元素:remove()
      list_name = ['oliver', 'age', 'hobby', '16']
      list_name.remove('age')  # 直接刪除'age'這個字串
      print(list_name)
  1. 延遲刪除(彈出):先把要刪除的元素取出來,如果要用的話,這個要刪除的元素還可以訪問,關鍵字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)