python學習之集合操作

2022-06-12 13:18:09 字數 2993 閱讀 3946

有如下需求,得到兩個人共有的朋友;很容易地可以想到使用下面這種方法:

friends1 = ["zero","kevin","jason","egon"]

friends2 = ["jy","ricky","jason","egon"]

l=for x in friends1:

if x in friends2:

print(l)

以上方法的結果,通過集合的交集可以輕鬆實現,因此集合就是專門用來進行關係運算的資料型別;包括交集、並集、差集、對稱差集,以及判斷父子集的關係。

去重顧名思義就是把重複的內容刪掉,這裡先按住不表。

定義方法: 在{}內用逗號分隔開多個元素,多個元素滿足以下三個條件:

1)集合內元素必須為不可變型別

2)元素無序

3)集合內元素沒有重複

s= # s=set()

s= # 集合內元素必須為不可變型別 也比可以是包含巢狀列表的元組

s= # 集合內元素無序

s= # 集合內元素沒有重複

print(s)

了解

s={} # 預設是空字典

print(type(s))

定義空集合

s=set()

print(s,type(s))

set()

res=set('hellolllll')

print(res)

print(set([1,1,1,1,1,1]))

print(set([1,1,1,1,1,1,[11,222]]) # 報錯

print(set())

friends1 = 

friends2 =

res=friends1 & friends2

print(res)

print(friends1.intersection(friends2))

print(friends1 | friends2)

print(friends1.union(friends2))

print(friends1 - friends2)

print(friends1.difference(friends2))

取friends2獨有的好友

print(friends2 - friends1)

print(friends2.difference(friends1))

print(friends1 ^ friends2)

print(friends1.symmetric_difference(friends2))

s1=

s2=

不存在包含關係,下面比較均為false

print(s1 > s2)

print(s1 < s2)

s1=s2=

print(s1 > s2) # 當s1大於或等於s2時,才能說是s1是s2他爹

print(s1.issuperset(s2))

print(s2.issubset(s1)) # s2 < s2 =>true

s1=s2=

print(s1 == s2) # s1與s2互為父子

print(s1.issuperset(s2))

print(s2.issuperset(s1))

1)只能針對不可變型別去重

print(set([1,1,1,1,2]))
2)無法保證原來的順序

l=[1,'a','b','z',1,1,1,2]

l=list(set(l))

print(l)

l=[ ,,,

,,

]new_l=

for dic in l:

if dic not in new_l:

print(new_l)

s=

print(len(s))

print('c' in s)
for item in s:

print(item)

s=
需要掌握的內建方法1:discard

s.discard(4) # 刪除元素不存在do nothing

print(s)

s.remove(4) # 刪除元素不存在則報錯

需要掌握的內建方法2:update

s.update()

print(s)

需要掌握的內建方法3:pop

res=s.pop()

print(res)

需要掌握的內建方法4:add

s.add(4)

print(s)

其餘方法全為了解

res=s.isdisjoint() # 兩個集合完全獨立、沒有共同部分,返回true

print(res)

s.difference_update() # s=s.difference()

print(s)

python學習之集合

集合 建立集合 1.要建立只包含乙個值的集合,僅需將該值放置於花括號之中 2.集合以類的形式實現 3.要建立多值集合,請將值用逗號隔開,並用花括號將所有值包裹 4.以列表為基礎建立集合 使用set 函式 集合是無序的,集合中元素的順序可能跟建立列表時的順序不一樣 初始的列表不會發生變化 增加集合的元...

python學習之集合

定義 print type basket a set abcdef print type a 去重 print ba 集合運算 a set aabcdef b set abzxnm print a b 集合a中包含而集合b中不包含的元素 print a b 集合a或b中包含的所有元素 print a...

python學習之集合

python的集合是一組物件的無序集集合中的項必須是不可變的 可雜湊的.集合有兩種set和frozenset.set是可變集合,集合中的元素是可以動態的增加和刪除。frozenset是不可變集合,集合中的元素不可變。並且集合是不能作為其他集合的成員,只有frozenset型別的集合才能作為其他集合的...