封裝和解構
封裝:將多個值進行分割,結合在一起,本質上返回元組,只是省掉了小括號
‘==‘意思為內容一致,‘=’意思為內存空間一致
解構:把線性結構的元素解開,并順序的賦值給其他變量,左邊接納的變量數要和左邊解開的元素數量一致
集合不是非線性
解構中使用*變量名接收,但不能單獨使用,被*變量名收集后組成一個列表
第一個下劃線為9,結果被第二個下劃線重新賦值為8,7 所以最后的下劃線結果為8,7
集set
可變的,無序的,不重復的元素集合
Collection翻譯為集合,是一個大概念
S=set()定義集合,集合中元素不能用列表和bytearry, 集合中元素必須可hash,若不可hash則不能放入集合中作為元素,set也不可哈希;set元素不可索引,可以迭代
S={}定義字典
Add():增加一個元素,若元素存在什么都不做
Update(*other):合并其他元素到集合中,other為可迭代對象,可對多個可迭代對象進行添加,就地修改
S.discard():刪除一個元素,若不存在,也不會報錯
s.remove():刪除一個元素,若不存在則報錯
s.pop():隨機彈出一個元素,里邊不能有參數
s.clear():清空
in和not in判斷元素是否在集合中
集合
并集:多個集合合并的結果,返回和多個集合合并后的新的集合運算符為|,等同union
交集:多個集合的公共部分,返回和多個集合的交集,運算符為&,等同intersection
差集:集合中除去和其他集合公共部分,返回和多個集合的差集,運算符為-,等同difference
對稱差集:集合A和B,由所有不屬于A和B的交集元素組成的集合,運算符為^,等同symmetric_difference
集合運算:
Issubset(other),<=:判斷當前集合是不是另一個集合的子集
Issuperset(other),>=:判斷當前集合是否是other的超集
Isdisjoint(other):當前集合和另一個集合沒有交集,沒有交集返回True
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/94153