1. 程式人生 > >python學習(二)List語法基礎與常用操作

python學習(二)List語法基礎與常用操作

- list 是列表,也叫陣列,用[ ]括號,並用逗號隔開,裡面可以任意型別,字串,數字,都可以。**

  • 取值用 list[角標],開始從0開始,如:list2=[1,2,”字串”],如果取list[2],那麼就是:字串
    這裡寫圖片描述

    • list的增加資料的操作
      1、list.append(‘新增的元素’) 在末尾新增
      2、list.insert(0,’新增的元素’) 0指新增的位置,指定位置新增元素
      注意:每次執行程式碼的時候,記憶體就回釋放,所以每次執行的時候,都是重新定義,不是說多執行一次就會多加一次
      這裡寫圖片描述

    • list刪除列表元素
      1、list.pop(),預設刪除末尾的元素
      2、刪除元素 list.pop(4),傳下標,刪除指定位置的元素,,list.pop(-1),刪除倒數第一個
      3、list.remove(‘某個元素’),刪除元素,刪除指定的元素
      4、del list[-1] 刪除倒數第一個元素,-2 代表倒數第二個,del list[1],刪除第二個
      注意:remove 有同名的元素,只能刪除第一個,list.pop(100),傳一個不存在的下標,報錯IndexError: pop index out of range
      這裡寫圖片描述

    • list查詢列表元素
      1、傳入角標,list[0] 查詢第一個,list[-1]查詢倒數第一個、
      2、list.count(‘某個元素’) 查詢某個元素在list裡出現的次數
      3、list.index(‘某個存的元素’),查詢某個元素的下標,list.index(‘不存在的元素’) 報錯 提示 is not in list
      注意,list.index()重複的返回第一個
      這裡寫圖片描述

    • list修改列表元素
      修改指定位置的值,直接重新複製 list【5】=‘新的值’
      這裡寫圖片描述

    • list列表的其他簡單方法
      1、list.reverse() 反轉,調整順序
      2、list.clear() 清空list
      3、list.sort() 排序,升序 如果有不同型別的,會報錯 TypeError: ‘<’ not supported between instances of ‘str’ and ‘float
      4、降序排序 list.sort(reverse=True)或者list.reverse().sort()
      5、list.extend(list2) 把兩個list合併,也可以 new_list=list1+list2
      6、判斷元素是否存在,,if x in list ,,或者if list.count(x)>0(當出現的次數大於0也代表存在),判斷元素是否不存在,,if x not in list
      7、多維陣列,list=[1,2,[1,2,[1,2]]] ,多維陣列取值 list[2][1] 負數也是可以的
      注意:多維陣列,取值的時候,如果取到字元的值了,在字串上繼續加[-1]或者[0],不會報錯,但是如果是數字,就會報錯
      8、list.len 算list的長度

    • list 列表的常用操作

  • 遍歷
    遍歷 list 可以取了長度,迴圈按下標一個一個的取,但更方便的是 for x(隨便的名字都可以) in list
    這裡寫圖片描述

    • 切片操作
      list取值的一種方式 ,只取一部分的值
      1、 比如list=list(range(10)) 生成0到9的10個數的 list,range(4,15)是4到14,顧頭不顧尾,所以沒有最後一個數
      2、list[0:3]取角標 0到2 的數,顧頭不顧尾的,list[2:8] 取出來時 角標從3開始,到角標為7這個
      3、list[:5]不寫第一位,就是從角標0開始取,不寫冒號後一位,就一直取到最後一位,list[:]第一位和最後一位都不寫,即取全部
      4、list[0:7:2]每隔一個取一個 取角標為0 2 4 6,list[::3]取全部,隔兩個取一個,最後一位是 步長 代表算上自己隔幾個
      這裡寫圖片描述

      5、list(range(1,101))[1::2]取1到100的偶數 list(range(1,101))[::2] 取基數,list(range(1,101))[::-2]降序的偶數
      步長正數,總左往右取值,步長負數,從右往左取值, 從最後一位開始取,即從100開始取,隔一個取,98,96····
      list(range(1,101))[::-1] list全取,降序,和reverse效果一樣了
      這裡寫圖片描述