知識點主要範圍:清單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會報錯;