被我忽略許久的set

2022-02-21 08:30:13 字數 2670 閱讀 4977

心塞,set一直是我忽略的乙個資料結構

1.生成乙個set:

1) set(iterable)

傳入乙個可以迭代的資料結構:

eg:字串;元組;列表,字典

2) 注意:vi必須是可以雜湊的:

你問我啥叫雜湊.額,你就知道就是不能變的就好了,剩下的問題問度娘

或者參考

3) 建立乙個空set

set()

2.set的特點:

1)無序

2)不重複

3)可變

3.方法

add() difference_update()

clear() discard()

copy() intersection() >

difference() intersection_update()

'add',

'clear',

'copy',

'difference',

'difference_update',

'discard',

'intersection',

'intersection_update',

'isdisjoint',

'issubset',

'issuperset',

'pop',

'remove',

'symmetric_difference',

'symmetric_difference_update',

'union',

'update'

1)查:

無序啊,怎麼查.遍歷吧

2)增:

add()

eg:in [3]: a

out[3]:

in [4]: a.add("kkkk")

in [5]: a

out[5]:

update()

eg:in [7]: a.update("world")

in [8]: a

out[8]:

3)刪:

pop()

eg:in [9]: a.pop()

out[9]: 'e'

remove()

eg:in [13]: a

out[13]:

in [14]: a.remove("kkkk")

in [15]: a

out[15]:

4應用:

兩個應用場景,1)去重,2)關係測試(數學裡面的集合關係)

1)去重

eg:l = [1,2,3,4,1,2,5,6]

得到不重複的列表:

in [16]: l = [1,2,3,4,1,2,5,6]

in [17]: l_new=list(set(l))

in [18]: l_new

out[18]: [1, 2, 3, 4, 5, 6]

2)關係測試(可以參考數學上的集合關係)

eg:set1=

set2=

a)取並集

in [22]: set1.union(set2)

out[22]:

in [24]: set1 |set2

out[24]:

b)取交集

in [25]: set1.intersection(set2)

out[25]:

in [26]: set1 &set2

out[26]:

c)取差集

①)在set1中不在set2中

in [27]: set1.difference(set2)

out[27]:

in [28]: set1-set2

out[28]:

②)在set2中不在set1中

in [29]: set2.difference(set1)

out[29]:

in [30]: set2-set1

out[30]:

d)(set1 u set2)-(set1 n set2)

in [31]: set1.symmetric_difference(set2)

out[31]:

in [32]: set1^set2

out[32]:

注: ^ 為數字6上的符號

e)子集,超級

eg:in [33]: s1=

in [34]: s2=

in [42]: s2.issubset(s1)

out[42]: true

自己是本身的子集

in [45]: s1.issuperset(s2)

out[45]: true

in [46]: s1.issuperset(s1)

out[46]: true

in [47]: s1in [48]: s1>s2

out[48]: true

in [49]: s1in [50]: s1>s1

out[50]: false

注意:使用符號的表示的時候嚴格小於和大於

in [51]: s1>=s1

out[51]: true

CSS魔法堂 那個被我們忽略的outline

在css魔法堂 改變單選框顏色就這麼吹毛求疵!中我們要模擬原生單選框通過tab鍵獲得焦點的效果,這裡涉及到乙個常常被忽略的屬性 outline,由於之前對其印象確實有些模糊,於是本文打算對其進行稍微深入的研究 用於建立可視物件的輪廓 元素的border box 如表單按鈕輪廓等。outline不佔文...

被我們所忽略的魯能的15個事情

1,在加盟魯能之前,鄭智在國家隊一直被作為後衛使用,而在深圳隊雖然司職中場,但是更多的任務都放在了防守上,當外人都在說是鄭智成就了魯能時,卻恰恰忽略了正是圖撥與魯能打造出了最適合鄭智的戰術平台,讓鄭智的進攻才華得到了最大限度的發揮。這一點也是國家隊從來沒有做到過的。2,圖撥接手魯能前,魯能是聯賽的第...

被我拋棄的古典情緣

一 重拾 不是沒有關心學校的藝術團,不是沒有看到harmonia的海報宣傳,但是直到今天逛bbs,閱覽到classicalmusic版,才意識到我又錯過了一場盛宴。記得上一次聽現場演奏已經是去年的事情了,德國青年交響樂團 記不準確了 在北大大講堂。非還要算再近一點的就是中法合作的芭蕾舞劇 希爾薇婭 ...