2018.10.29筆記
1.集合(set) {}
注:建立空集合使用set(),{}的型別為字典(dict)
1.1集合的增刪改查
增:set.add(ele) 將元素新增到集合中,如果已經存在,則不執行任何操作
set.update(set1) 將set1中的元素迭代新增到set中,重複的會忽略,set1是可迭代型別的變數
刪:set.pop() 隨機移除一個元素,返回被移除的元素
set.remove(item) 移除集合中一個指定的元素,如果元素不存在,則返回異常
set.discard(item) 移除集合中一個指定的元素,元素不存在時不會返回異常
改:集合中只能通過刪除元素再增加元素來實現修改集合元素
查:集合中只能通過for迴圈遍歷檢視集合元素
1.2集合的其他方法
set1.union(set2) 返回set1與set2的並集,與set1|set2相同
set1.intersection(set2) 返回set1與set2的交集,與set1&set2相同
set1.difference(set2) 返回set1與set2的差集,與set1-set2相同
set1.symmetric_difference(set2) 返回set1與set2的反交集,與set1^set2相同
set1.issubset(set2) 判斷set1是否是set2的子集,與set1<set2相同
set1.issupperset(set2) 判斷set1是否是set2的超集,與set1>set2相同
set1.isdisjoint(set2) 判斷set1與set2中是否包含相同元素,如包含則返回False,否則返回True
2.編碼
str.encode(encoding) 按指定編碼方式編碼
str.decode(encoding) 解碼 按指定編碼方式解碼
注:編碼與解碼必須使用同一種編碼方式
常用的編碼方式有uft-8,gbk
python2中預設編碼方式為ASCII碼,python3中預設編碼方式為Unicode
bytes型別主要用於儲存和傳輸
windows中文版的編碼方式為gbk(國標)
3.基礎資料型別補充
字典在遍歷迴圈中不可增刪
所以如果要使用for迴圈清空字典,需要先建立一份字典的複製,然後使用for迴圈刪除字典中的鍵值對
如果要使用for迴圈清空列表,可以使用for迴圈和range來刪除列表中的所有元素
也可使用清空字典的方法
4.深淺拷貝
直接賦值:其實就是物件的引用
淺拷貝(copy):拷貝父物件,不會拷貝物件內部的子物件(子物件還是使用同一片記憶體)
可通過copy方法或使用[:]切片來得到
深拷貝(deepcopy):完全拷貝父物件及其子物件
匯入copy模組,使用deepcopy(args)來得到