天天看點

Python知識點筆記-清單list、元組tuple和dict類型

知識點主要範圍:清單list、元組tuple和dict類型

清單list和元組tuple

  • 清單list用[]包圍起來,裡面可以是各種類型的組合;
  • L[-1]表示清單L的倒數第一個元素,-2表示倒數第二個元素;
  • L.append()把新元素放在清單L的末尾;
  • L.insert(x, a)把a元素插在x位置之前;
  • L.pop()可以删掉清單L最後的元素并傳回這個元素,裡面可以有參數指明位置;
  • 元組tuple()用()包圍起來,一旦建立完畢就不能修改了;
  • tuple單個元素時要有個,在後面,不然(1)就被識别為數字1,()被識别為運算時優先級高的括号了,(1,)才對;
  • tuple()如何“可變”,就是裡面包含List類型元素,List裡的元素可變。如果包含變量元素,變量改變了tuple也是不變的,就是在建立時取當時變量的值;
  • range(x,y) 大于等于x,小于y的清單;
  • 切片L[0:3]表示0,1,2位置的值,前後可以省略,代表第一個和最後一個;
  • L[::2]表示每兩個元素取一個值,每隔一個元素取一個值;
  • 倒序切片,L[-3:-1]取倒數第三個和第二個的值;
  • 集合是指包含一組元素的資料結構,str和unicode也是有序集合;
  • zip()可以把兩個list合并為一個,L1[‘1’,‘2’],L2[‘3’,‘4’]合并後為[(1,3),(2,4)];

dict類型

  • dict是包含key:value這樣組合的無需集合,d[key]可以擷取key對應的value;
  • len()計算集合的大小;
  • 判斷a是否為d的key,兩種方法:if a in d或者d.get(a);
  • 無序集合dict的特點:查找速度快,10個和10萬個一樣快。有序集合list随着元素的增加,查找速度下降;
  • dict的key隻能是不可變類型,list不能作為key,但是tuple可以,1,2,3等純數字也能作為key;
  • 可以直接用for … in d來周遊其value;
  • set()可以去重,set([‘a’,‘b’,‘b’])列印出來是set([‘a’,‘b’]);
  • 無序的不能通過索引找内容,通過in判斷是否存在;
  • set的特點也是查找速度快,不能包含可變對象;
  • 字元串連接配接整數,必須把整數str()為字元串才可以;
  • add、remove可以增加删除set元素,remove前要判斷是否存在,不存在的remove會報錯;