初學Python 集合及其運算

2021-09-20 04:37:20 字數 3244 閱讀 5073

集合是乙個無序的、不重複的資料組合,和字典列表一樣也是一種資料型別。

集合兩個最主要的功能:①去重(把乙個列表變成集合,就自動去重了)

②關係測試(測試兩組資料之間的交、並、差集等關係)

首先,如何建立集合?

兩種方式:(1)直接建立

a=set([

1,8,2,3,5,4,5,3

])

(2)將列表轉化成集合

list1=[

5,9,7,3,6,6,7,95,78,65,102

]       #建立列表

list1=set(list1)                                      #將列表轉化成集合

在這裡需要說明,集合是無序的,儘管將集合a輸出:print(a),得到的結果是

看上去好像自動做了排序,其實不然,只是集合的資料太少了,輸出list1就不是這樣了:

1.取兩個集合的交集:

兩種寫法:①intersection()方法

print

(list1.intersection(a))

print(a.intersection(list1))

這兩種寫法沒有任何區別,輸出結果都是

②數學表示

print(list_1 & a)
2.取並集:也是兩種方法:①union()方法

print("

union:

",a.union(list_1))

②數學表示

print("union:",a|list_1)

輸出結果:

3.取差集:

亦是兩種方法:①difference()方法

print("difference:",list_1.difference(a))  #差集(list_1減去交集)

print("difference:",a.difference(list_1)) #差集(a減去交集)

②數學表示

print("

list_1 - a :

",list_1-a)

print("

a - list_1 :

",a-list_1)

執行結果:

4.判斷是否是父集和子集的關係:

issubset()方法和issuperset()方法

print("

issubset:

",list_1.issubset(a)) #

判斷list_1是不是a的子集

print("

issuperset:

",a.issuperset(list_1)) #

判斷a是不是list_1的父集

當然,肯定都不是,再建立乙個集合試一試

list_2=set([1,3,5])

print(list_2.issubset(a)) #

判斷list_2是不是a的子集,是則返回true

print(a.issuperset(list_2)) #

判斷a是不是list_2的父集,不是返回false

執行結果:

5.對稱差集:

對稱差集是指兩個集合的並集減去交集

①symmetric_difference()方法

print("

symmetric_difference:

",a.symmetric_difference(list_1))

②數學表示

print("

a^list_1:

",a^list_1)

執行結果:

6.判斷是不是相交

list_3=set([50,30,60])

print("

isdisjoint:

",a.isdisjoint(list_3)) #

判斷兩個集合之間的關係是不是相交,如果相交返回false

print("

isdisjoint:

",a.isdisjoint(list_2))

執行結果:

1.新增資料

新增一項:

a.add("

abc") #

新增一項

新增多項:

a.update([20,30,90])
2.刪除資料①remove()方法

a.remove("

abc") #

刪除字元「abc」

②pop()方法

print(a.pop())  #隨機刪除,並返回刪除的值

③discard()方法

a.discard(30)   #

刪除資料

3.獲取集合的長度

print(len(a)) #

集合 a 的長度

4.判斷資料是否是集合的成員

print(30 in a)           #

判斷30是否是集合a的成員(列表、字典、集合、字串都可以用這種方法來判斷)

print(30 not

in a) #

判斷30是否不是集合a的成員

Python集合及其運算

一 集合 set 集合是由不同可hash的值組成的,裡面所有的值都是唯一的,也是無序的 集合的建立 set test 把值放入中 lis name age hometown set test set lis set test 利用set 函式,把其他型別轉換為set list test name a...

python入門之集合及其運算

集合 list 1 set 1,4,5,8,9,0 list 2 set 2,3,5,7,9,0 list 3 set 4,6,1 print list 1,list 2 print list 1.intersection list 2 求交集 print list 1.union list 2 求...

python字典與集合初學

集合 1 無序性 2 元素唯一性集合是可變的資料型別集合中不能有可變的資料型別建立沒有元素的集合型別 se set 雖然集合在表現形式上是se 但是在建立空的集合時不能se 那樣的話就是建立了個字典集合的運算有 交 並 差 交是查出相同的元素 並是兩集合的全部元素 差是不同的元素 新增 add 不能...