2018/10/29python筆記
一.集合 set
集合是無序的,天然能去重,是可變的.例:s = {1,2,3,4,5}
1 s = {} 2 s1 = {1} 3 print(type(s)) # 空{}就是字典 4 print(type(s1)) #集合
集合的基本操作:
1.增
s = {1,2,3,‘22‘,,‘ss‘,(3,4)}
s.add(‘元素‘)
s.update(‘alex‘) #叠代添加 ‘alex‘會被分割添加
2.刪
s = {1,2,3,‘22‘,,‘ss‘,(3,4)}
s.remove() #通過元素指定刪除
s.pop() #隨機刪除,有返回值,返回的是刪除的元素
s.clear() #清空set
del s #刪除整個集合
3.改
先刪後增就是改.
1 s = {1,2,3,‘22‘,‘ss‘,(3,4)} 2 s.remove(3) 3 s.add(7) 4 print(s)
4.查
通過for循環實現
5.其他操作:
1.通過set去重
lst = [1,2,3,42,3,45,67,534,2] print(list(set(lst)))
2.
1 s = {‘黑哥‘} 2 s1 = {‘虎哥‘,‘開哥‘,‘alex哥‘,‘黑哥‘,‘wu哥‘} 3 print(s & s1) # 交集 倆個集合都有的才輸出 4 print(s | s1) # 並集 兩個集合 合並到一起 5 print(s1 - s) # 差集 前面減後邊的集合前邊集合中有的輸出出來 6 print(s ^ s1) # 反交集 相當於並集-交集 7 print(s < s1) # 子集 8 print(s1 > s) # 超(父)集
3.凍結集合 frozenset()
1 a = frozenset((1,2,3)) 2 dic ={a:1} 3 print(dic)
二.二次編碼
ascii 不支持中文
unicode 萬國碼 中文4個字節 英文 2個
utf-8 最少使用1個字節 歐洲 2 亞洲 3
gbk 中文 2 英 1
windows 默認編碼GBK
1 a = ‘你好黑‘ 2 a2 = a.encode(‘utf-8‘) #編碼 3 print(a) 4 print(a2) 5 a3 = a2.decode(‘utf-8‘) #解碼 6 print(a3)
###bytes字節用於傳輸和存儲
註意:用什麽編就用什麽寫!
三.基礎數據類型補充
1.通過for循環刪除列表中所有元素
1 lst = [1,2,3,4,5] 2 for i in range(len(lst)): 3 lst.pop() 4 print(lst)
還可通過新建列表刪除
1 lst = [1,2,3,4,5] 2 lst1 = [] 3 4 for i in lst: 5 lst1.append(i) 6 for k in lst1: 7 lst.remove(k) 8 print(lst)
字典在循環過程中不能進行增加和刪除,字典也可通過新建字典的方法刪除
1 lst = {} 2 dic ={‘a‘:1,‘b‘:2} 3 for i in dic: 4 lst[i]= dic[i] 5 for i in lst: 6 dic.pop(i) 7 print(dic)
2.字典的fromkeys()方法
1 dic = dict.fromkeys([‘alex‘,‘wusir‘,‘wenzhou‘,‘nvshen‘,‘kaige‘],[‘太白‘,‘姍姍‘]) 2 fromkeys #第一是鍵 第二是值 3 print(dic)
四.深淺拷貝
淺拷貝:只拷貝第一層元素
深拷貝:拷貝所有元素,開辟新的空間儲存,兩者沒有任何關系
淺拷貝
1 lst = [1,2,3,[4,5,6],7] 2 lst1 = lst #賦值 3 lst2 = lst[:] # 切片 4 lst.append(7) 5 print(lst) 6 print(lst2)
深拷貝
1 import copy 2 lst4 = copy.deepcopy(lst) # 深拷貝 3 lst[-2].append(7) 4 print(lst) #[1, 2, 3, [4, 5, 6,7], 7] 5 print(lst4) #[1, 2, 3, [4, 5, 6], 7]
2018/10/29python筆記