1. 程式人生 > >2018.10.29筆記

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)來得到