python 集合(set)及操作

2021-10-12 03:10:49 字數 2296 閱讀 6367

set:集合可變的、無序的、不重複的元素的集合,元素不可索引

s = set()

s = set(iterable) #巢狀可迭代物件

set內的元素必須可以hash

s1 =

set(

)s2 =

set(

range(5

))s3 =

set(

list

(range(10

)))s4 =

#該初始化為字典

s5 =

#set

s6 =

s7 =

#報錯,因為包含不可雜湊的元素:list

1.add(***),增加乙個元素到set中,若元素已存在則不做任何操作

s =

s.add(1)

#元素已存在

print

('s:'

,s)s.add(

'abc'

)#元素不存在

print

('s:'

,s)

#輸出

s:s:

2.update(*others),合併其他元素到集合中,其中others必須為可迭代物件

#例項一

s1 =

s1.update(

range(5

),range(6

,9))

#set自動去重

print

('s1:'

,s1)

例項二s2 =

s2.update(

'abc'

)#對每乙個字串進行迭代,增加了三個

print

('s2:'

,s2)

#例項一

s1:#例項二

s2:

1.remove(***),從set中移除乙個元素,若不存在丟擲keyerror異常

2.discard(***),從set中移除乙個元素,若不存在不做任何操作

3.pop(),不可以加入引數,因為set無序不可索引,所以不可指定索引

4.clear(),清空集合

set可以進行遍歷

可以使用in和not in判斷元素是否在set中

1.union(*others),將多個集合的元素合併在一起,等同於|,返回新集合

#例項一

x =y =

z = x.union(y)

#可寫為z = x|y

print

('z:'

,z)#例項二

a =b =

c =result = a.union(b, c)

#可寫為:result = a|b|c

print

('result:'

,result)

#輸出

z:result:

2.intersection(*others),求元素的並集,等同於&,返回多個集合的交集

#例項一

x =y =

z = x.intersection(y)

#可寫為z = x&y

print

('z:'

,z)#例項二

a =b =

c =result = a.intersection(b, c)

#可寫為:result = a&b&c

print

('result:'

,result)

#輸出

z:result:

set(

)#交集為空,返回空集合

3.difference(*others),求集合的差集,等同於-,返回和多個集合的差集

#例項一

x =y =

z = x.difference(y)

#可寫為z = x-y

print

('z:'

,z)#例項二

a =b =

c =result = a.difference(b, c)

#可寫為:result = a-b-c

print

('result:'

,result)

#輸出

z:result:

python集合set操作

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

python 集合set的操作

當列表中存在多個重複元素,待刪除時,set刪除高效而方便。集合的新增有兩種常用方法,分別是add和update。1.集合add方法 是把要傳入的元素做為乙個整個新增到集合中,例如 a set boy a.add python a set y python b o 2.集合update方法 是把要傳入...

Python 集合 set 及其操作

myset 資料不會重複,沒下標,沒次序 myset.add 8 插入資料 myset.add 1 去重 print myset myset set abcdefg myset.update abcdxyz update把不重複的字元新增到set中 print myset myset myset.u...