Python3物件導向 5資料結構 (5)集合

2021-10-07 22:16:36 字數 1223 閱讀 4553

1.集合:可以儲存任何可求雜湊值的物件

關於hashi的理解

2.特點:具有數學上的特性,元素具有唯一性,由於儲存的是希哈所以內部排序無序性。

例如:建立乙個歌手的的列表

a=[(

"夜曲"

,"周杰倫"),

("依然愛你"

,"王力巨集"),

("浮誇"

,"陳奕迅"),

("光輝歲月"

,"beyong"),

("稻香"

,"周杰倫")]

b=set()

for song,artist in a:

b.add(artist)

c=list

(b)print

(b)print

(c)[

'周杰倫'

,'王力巨集'

,'beyong'

,'陳奕迅'

]process finished with exit code 0

3.集合運算(多個集合的運算):

並 : union

交 : intersection

1-交 : symmetric_difference

a1=

a2=print

(a1.union(a2)

)print

(a1.intersection(a2)

)print

(a1.symmetric_difference(

(a2)))

4.issubset 和 issuperset

x =

y =

z = x.issuperset(y)

"判斷y是否在x集合中"

t = x.issubset(y)

"判斷x是否在y集合中"

print

(z)print

(t)true

false

5.查詢效率

當用in關鍵字檢查元素是否存在於容器時,集合比列表效率高,在對乙個列表或集合容器使用value in container時候,如果conrainer中找到相同的值:

對於集合來說,只需要求出雜湊值並價差是否存在就好。意味著無論集合有多大查詢乙個值是否存在所需要的時間是固定的

對於列表來說,將會便利所有物件直到找到相同的值,列表長度越長,搜尋乙個值的時間越長

python3物件導向

類 class 描述同屬性和方法的物件的集合。方法 類中定義的函式 例項化 建立乙個類的例項,類的具體物件。物件 通過類定的資料例。包括兩個資料成員 類變數和例項變數 和方法。支援操作 屬性引用和例項化 class myclass i 12345 deff self return hello wor...

Python3 物件導向

類名 這類事物的名字,滿足大駝峰命名法,每乙個單詞的首字母大寫 屬性 這類事物具有什麼樣的特徵,身高,體重,年齡等 方法 這類事物具有什麼樣的行為,會跑,會說話,會跳等 class cat 名字貓的類,建議用大駝峰 def init self,new name,new age self.name n...

python3物件導向

類的定義 class classname name 屬性 age 18 私有屬性 deff self 方法,self 代表的是類的例項 return hello world def say self 私有方法,self 代表的是類的例項 print hello world 例項化 x classna...