有如下需求,得到兩個人共有的朋友;很容易地可以想到使用下面這種方法:
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型別的集合才能作為其他集合的...