python資料型別之集合

2021-08-14 13:08:19 字數 1499 閱讀 9796

集和(

set)

——字典的近親

實現列表去重:

方法1:

li = [1, 2, 3, 4, 3, 2]

s = set(li)

l = list(s)

print set(l)

方法2:

li = [1, 2, 3, 4, 3, 2]

d = {}.fromkeys(li)

print d.keys()

*集和是無序的,不重複的資料型別,不支援索引,切片,重複,和連線,但支援成員操作符(in,not in),支援for迴圈,是可迭代的

**兩個功能:去重

實現關係測試(交集,並集,差集,是否子/父集,是否沒有交集) 1.

集和的定義:

s = {}

print type(s)

##花括號裡面為空,則預設為字典型別

方法1(直接定義法):

s =

print type(s)

方法2(工廠函式法):

s = set()

print type(s)

s = set([1,2,3,2,5])

print s 2.

集合的增刪改查:

1)增:

s =

print s

s.add(5)

print s

s1 =

s.update(s1)     

##s+s1

print s 2)

刪: s =

s.pop()  

##隨機刪除乙個元素

s.remove("2")   

##刪除乙個元素,該元素必須存在於集合中,否則報錯

s.discard("3")  

##刪除乙個元素,該元素必須存在於集合中,否則不做任何操作

s.clear()       

##清空集和 3)

查(求集和關係):

s1 =

s2 =

print s1 & s2    

print s1.intersection(s2)##

求交集

print s1.intersection_update(s2)

##求交集,並賦給s1

print s1 | s2    

print s1.union(s2)##

求並集

print s1 - s2

print s1.difference(s2)

##求差集

print s1 ^ s2    

print s1.symmetric_difference

##求對等差分(並集-交集)

print s1.issubset(s2)

##判斷子集

print s1.issuperset(s2)

##判斷父集

print s1.isdisjoint(s2)

##判斷是否沒有交集

python資料型別之集合型別

一 集合的作用 知識點回顧 可變型別是不可hash型別,不可變型別是可hash型別 作用 去重,關係運算 定義 可以包含多個元素,用逗號分割,集合的元素遵循三個原則 1.每個元素必須是不可變型別 可hash,可作為字典的key 2.沒有重複的元素 4.無序 注意集合的目的是將不同的值存放在一起,不同...

python資料型別之集合

s print s,type s s1 print s1,type s1 輸出結果 s2 預設情況是字典dict print s2,type s2 s3 set print s3,type s3 輸出結果 set li 1,2,2,3,5,6,4,4 print list set li 輸出結果 1...

python資料型別之集合

集合滿足三個條件 1.元素必須是不可變型別 2.無序 3.集合內元素不重複 friends1 使用者1的好友們 friends2 使用者2的好友們 friends1 friends2 求交集 intersection friends1 friends2 求並集 union friends1 frie...