Python 集合型別及操作

2021-09-27 10:45:09 字數 3534 閱讀 9910

1. 集合型別定義

集合是多個元素的無序組合

>>> a =  #使用{}建立集合

>>> print(a);

>>> b = set("pypy123"); #使用set建立集合

>>> print(b);

>>> c = ;

>>> print(c);

2. 集合操作符

集合操作符

操作符及應用

描述s | t

並,返回乙個新集合,包括在集合s和t中所有的元素

s - t

差,返回乙個新集合,包括在集合s但不在t中的元素

s & t

交,返回乙個新集合,包括同時在集合s和t中的元素

s ^ t

補,返回乙個新集合,包括集合s和t中的非相同元素

s <= t 或 s < t

返回true或false,判斷s和t的子集關係

s >= t 或 s > t

返回true或false,判斷s和t的包含關係

s |= t

並,更新集合s,包括在集合s和t中所有的元素

s -= t

差,更新集合s,包括在集合s但不在t中的元素

s &= t

交,更新集合s,包括同時在集合s和t中的元素

s ^= t

補,更新集合s,包括集合s和t中非相同的元素

a = ;

b = set("pypy123");

print("a與b的並集a|b=".format(a|b));

print("a與b的差集a-b=".format(a-b));

print("b與a的差集b-a=".format(b-a));

print("a與b的交集a&b=".format(a&b));

print("a與b的補集a^b=".format(a^b));

print("a與b是子集關係a<=b:".format(a<=b));

print("a與b是包含關係a>=b:".format(a>=b));

#執行結果

#a與b的並集a|b=

#a與b的差集a-b=

#b與a的差集b-a=

#a與b的交集a&b=

#a與b的補集a^b=

#a與b是子集關係a<=b:false

#a與b是包含關係a>=b:false

3. 集合處理方法集合處理方法

操作函式或方法

描述s.add(x)

如果x不在集合s中,將x增加到s

s.discard(x)

移除s中元素x,如果x不在集合s中,不報錯

s.remove(x)

移除s中元素x,如果x不在集合s中,產生keyerror異常

s.clear()

移除s中所有元素

s.pop()

隨機返回s的乙個元素,更新s,若s為空產生keyerror異常

s.copy()

返回集合s的乙個副本

len(s)

返回集合s的元素個數

x in s

判斷s中元素x,x在集合s中,返回true,否則返回false

x not in s

判斷s中元素x,x不在集合s中,返回true,否則返回false

set(x)

將其他型別變數x轉變為集合型別

s = ;

#1.若x不在集合s中,將x增加到s

s.add("t");

s.add("p");

print(s);

#執行結果

##2.移除s中元素x,如果x不在集合s中,不報錯

s.discard("t");

s.discard("0");

print(s);

#執行結果

##3.移除s中元素x,如果x不在集合s中,產生keyerror異常

try:

s.remove("t");

except keyerror:

print("產生keyerror異常");

#執行結果

#產生keyerror異常

#4.移除s中所有元素

s.clear();

print(s);

#執行結果

#set()

#5.隨機返回s的乙個元素,更新s,若s為空,產生keyerror異常

s = ;

try:

while true:

print(s.pop(), end="*");

except keyerror:

print("\n產生keyerror異常");

print(s);

#執行結果

#y*123*p*

#產生keyerror異常

#set()

#6.返回集合s的乙個副本

s = ;

a = s.copy();

print(a);

#執行結果

##7.返回集合s的個數

a = len(s);

print(a);

#執行結果

#3#8.判斷s中元素x,x在集合s中,返回true,否則返回false

a = "y" in s;

b = 345 in s;

print("a=, b=".format(a, b));

#執行結果

a=true, b=false

#9.判斷s中元素x,x不在集合s中,返回true,否則返回false

a = "y" not in s;

b = 345 not in s;

print("a=, b=".format(a, b));

#執行結果

a=false, b=true

#10.將其他型別變數x轉變為集合型別

a = "hello world";

s = set(a);

print(s);

#執行結果

#

4. 集合型別應用場景包含關係比較

a =  >= ;

print(a);

#執行結果

#false

資料去重:集合型別所有元素無重複

ls = ["p", "p", "y", "y", 123];

s = set(ls);#利用了集合無重複元素的特點

print(s);

lt = list(s);#還可以將集合轉換為列表

print(lt);

#執行結果

##['p', 123, 'y']

python裡面的集合型別及操作

集合型別定義 集合是多個元素的無序組合,集合元素之間無序,且無法修改,不能存在相同的元素 a b c set pypy12345 print a print b print c 輸出結果 這體現了建立集合型別的方式為 或set 集合操作符 這個和數學中的類似 就是並差交補 操作符及應用 描述s t ...

python集合型別及運算

集合型別與數學中的集合概念相同,表示多個元素的無序組合 集合元素之間無序,但是每個元素唯一,不存在相同元素 集合元素不可更改,不能是可變資料型別 為了保證元素的唯一性 集合用大括號 表示,元素間用逗號分隔 建立集合型別用 或 set a集合是集合b的子集 else print a集合不是集合b的子集...

python 集合(set)及操作

set 集合可變的 無序的 不重複的元素的集合,元素不可索引 s set s set iterable 巢狀可迭代物件 set內的元素必須可以hash s1 set s2 set range 5 s3 set list range 10 s4 該初始化為字典 s5 set s6 s7 報錯,因為包含...