封裝與解構 集合

封裝和解構

封裝:將多個值進行分割,結合在一起,本質上返回元組,只是省掉了小括號

‘==‘意思為內容一致,‘=’意思為內存空間一致

解構:把線性結構的元素解開,并順序的賦值給其他變量,左邊接納的變量數要和左邊解開的元素數量一致

集合不是非線性

解構中使用*變量名接收,但不能單獨使用,被*變量名收集后組成一個列表

第一個下劃線為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

(0)
DrueDrue
上一篇 2018-04-01
下一篇 2018-04-01

相關推薦

欧美性久久久久