【筆記】Python基礎二
阿新 • • 發佈:2018-12-25
一,變數
變數作用是記錄狀態
1,變數基本型別
字串
數字
列表
元組
字典
2,可變不可變
1),可變:修改變數的值,id值不變。列表,字典
2),不可變:新建立變數後需要開闢新記憶體地址。字串,數字,元組
3,訪問順序
1),順序:字串,列表,元組
2),對映:字典
3),直接:數字
4,存放元素個數
容器型別:列表,元組,字典
原子:數字,字串
二,新型別:集合
集合出現之前
python_l = ['lcg','szw','zjw'] linux_l = ['lcg','szw','sb'] #迴圈方法求交集 python_and_linux_l = []for p_name in python_l: if p_name in linux_l: python_and_linux_l.append(p_name) print(python_and_linux_l)
特點:
1,不同元素組成
2,無序
3,集合中的元素必須是不可變型別:數字,字串,元組
4,集合本身是可變型別,可以追加和刪除元素。注意:使用frozenset('hello')把集合定義成不可變型別
s = frozenset('hello') print(s)
形式:
s = {1,2,3,4,5,6} s= set("hello") # s={'e','o','h','l'} s = set(['alex','alex','sb']) # s={'sb','alex'}
用途:刪除重複值
names = ['alex', 'alex','wupeiqi'] s = set(names) print(s) names = list(s) print(names)
輸出:
{'wupeiqi', 'alex'}
['wupeiqi', 'alex']
內建方法:
s = {1,2,3,4,5,6}
1,s.add(7)
2,s.clear()
3,s1 = s.copy()
4,s.pop() #無序的集合,隨機刪除
5,s.remove('sb')
如果不存在,會報錯
6,s.discard('sbb')
如果不存在,不會報錯
7,求交集,同時報了兩門課程的人
python_l = ['lcg','szw','zjw'] linux_l = ['lcg','szw','sb']
p_s = set(python_l) l_s = set(linux_l) print(p_s,l_s) print(p_s.intersection(l_s)) print(p_s&l_s)
8,求並集,所有人的集合
print(p_s.union(l_s)) print(p_s|l_s)
9,求差集,報了python沒有報linux的人
print('差集',p_s - l_s) print('差集',p_s.difference(l_s))
10,交叉補集,合到一塊,扣掉共同的部分,只報了一門課程的人,可能是python,也可能是linux
print('交叉補集',p_s.symmetric_difference(l_s)) print('交叉補集',p_s^l_s)
11,求差集後更新
p_s.difference_update(l_s) #相當於 p_s = p_s - l_s print(p_s)
12,如果沒有交集則為TRUE
s1 = {1,2} s2 = {1,2,3,5} print(s1.isdisjoint(s2)) #False
13,父集與子集
print(s1.issubset(s2)) #True S1是S2的子集 print(s2.issuperset(s1)) #True S2是S1的父集
14,update可以更新(新增)多個值
s1 = {1,2} s2 = {1,2,3,5} #s1.update(s2) s1.update([3,4]) s2.add(4) #add只能更新一個值 print(s1,s2)