python中set的用處

2022-01-22 14:28:33 字數 963 閱讀 7736

python中有很多不同的資料結構,比如list,tuple,set,dic等,為什麼我要單獨講set呢。

因為set是乙個比較容易被遺忘的資料結構,不光在python中,在c++中也一樣,反正我是很少用set。但是用了之後發現set其實很強大的。下面就介紹一下set比較牛逼的幾個用處:

第一反應就是遍歷乙個列表,拿到所有資料然後再判斷在不在第二個列表裡。**如下:

def

main():

list1=[1,2,3,4,5]

list2=[3,4,5,6,7]

list3=

for each in

list1:

if each in

list2:

print

list3

if__name__ == '

__main__':

main()

如果用set的話,用intersetion()很容易就搞定了,它可以得到兩個set的交集

def

main():

list1=[1,2,3,4,5]

list2=[3,4,5,6,7]

s1,s2=set(list1),set(list2)

list3=list(s1.intersection(s2))

print

list3

if__name__ == '

__main__':

main()

同樣的方法還有:

s1.union(s2),用來得到兩個set的並集。即兩個list裡所有元素的合集。

s1.difference(s2), 用來得到兩個set的差集。即在s1中存在,但在s2中不存在的集合。

s1.symmetric_difference(s2), 它相當於s1.union(s2)-s1.intersection(s2)。即s1和s2中不重複的元素的合集。

python中的set操作

python view plain copy python的set和其他語言類似,是乙個無序不重複元素集,基本功能包括關係測試和消除重複元素.集合物件還支援union 聯合 intersection 交 difference 差 和sysmmetric difference 對稱差集 等數 算.se...

python中的set操作

python的set和其他語言類似,是乙個無序不重複元素集,基本功能包括關係測試和消除重複元素.集合物件還支援union 聯合 intersection 交 difference 差 和sysmmetric difference 對稱差集 等數 算.sets 支援 x in set,len set ...

Python 中的集合(set)

set 擁有類似 dict 的特點 可以用 花括號來定義 不推薦使用 其中的元素沒有序列,也就是是非序列型別的資料 set 中的元素不可重複,類似 dict 的鍵.set 也有一點 list 的特點 有一種集合可以原處修改.一 建立 set s1 set zhrq95 s1 set z h r q ...