Python集合型別學習總結

2021-10-22 14:37:18 字數 3748 閱讀 2966

特性:

無序,用hash值儲存

元素必須是不可變物件

元素不可重複

set集合可變,forzenset不可變

可迭代1、大括號構建

s =

s= #空的是字典,不是集合

2、set()方法,括號內是可迭代物件

s =

set(

'abcde'

)#s->

s1 =

frozenset

('jqk'

)

3、構建空集合

s1=

set(

)

4、集合解析

>>

>

>>

>

補充:字典和集合都是用表示,具體是什麼型別根據裡面的元素判斷是集合還是字典

x=

y=z=

x-y #-

1. 交集

集合x和y中都包含了的元素

用**&** 或者**intersection()**方法

x&y 

x.intersection(y)

#-->

2. 並集

集合x包含了的元素,或集合y包含了的元素

|或者 **union()**方法

x|y  

x.union(y)

#-->

3. 差集

集合x包含了的元素,但是集合y不包含的元素

-或者difference()方法

x-y

x.difference(y)

#

4. 非交集

不同時包含於x和y的元素(x包含y不包含或包含x不包含)

^或者symmetric_difference()方法

x.symmetric_difference(y)

y.symmetric_difference(x)

測試兩個集合之間是否是子集、真子集、超集、真超集

1. 子集

子集數學概念:如果集合a的任意乙個元素都是集合b的元素,那麼集合a稱為集合b的子集

任何乙個集合是它本身的子集

空集是任何集合的子集

<=issubset()方法

x=

s=s<=x

#-->false

x=s=

s.issubset(x)

#-->true

2. 真子集

真子集:即不包括集合本身的所有子集

<

x=

s=s#-->true

x=s=

s#-->false

3. 超集

超集數學概念:如果集合a的元素都包含在集合b內,且可能有集合b沒有的元素,則a是b的超集

>=issuperset()方法

s是x的子集,則x是s的超集

x=

s=x.issuperset(s)

#-->true

x=s=

x>=s

#-->true

4. 真超集

真超集:不等於集合a本身的超集,即為真超集

>

x=

s=x>s

#-->false

5. 共同成員

測試集合和另乙個資料容器(列表,集合)是否有相交資料

isdisjoint()方法

如果有則返回false,沒有返回true

x=

s=s.isdisjoint(x)

#-->false

1. 新增元素

新增元素到集合s中

新增已存在的元素不會報錯

s.add(item)

>>

> thisset =

set(

("google"

,"runoob"

,"taobao"))

>>

> thisset.add(

'alibaba'

)>>

>

print

(thisset)

2. 移除元素

s1.remove(elem)移除集合中的元素

#如果元素不存在,會報錯

>>

>x=

>>

>x.remove(

'd')

>>

>

print

(x)>>

>

s1.discard(elem)移除集合中的元素,不存在不會報錯

>>

>x=

>>

>x.discard(

'k')

>>

>

print

(x)>>

>

s1.pop()隨機移除乙個元素並返回這個元素

>>

>s1 =

set(

'jqk'

)>>

>s1.pop(

)>>

>

'k'>

3. 其他基本操作

len(s) 計算集合中元素個數

s.clear() 清空集合

s.copy 淺拷貝集合

in / not in 判斷元素是否存在

4. 與多個集合間的基本操作

update() 取得並集後並覆蓋原來集合

|= 也可以用

>>

>x=

>>

>s=

>>

>s.update(x)

>>

>

print

(s)>>

>

>>

>s.update(x,y)

#引數可以多個

intersection_update() 方法獲取兩個或更多集合的交集並覆蓋原集合

&= 也可以用

difference_update()方法獲取兩個或更多集合的差集並覆蓋原集合

-= 也可以用

sysmmetric_update() 非交集

^= 也可以用

python型別學習

核心筆記 布林值 下列物件的布林值是false。標準型別的內建函式 cmp repr str type 標準型別的分類 一句話概括標準型別 基本內建資料物件原始型別 1.儲存模型 儲存模型 分類python型別 標量 原子模型 數值,字串 容器型別 列表,元祖,字典 2.更新模型 更新模型 分類py...

Python str型別學習總結(一)

有序不可變 str1 i am a student 有序 str1 2 3 不可變1 字串拼接 i 返回乙個新的字串 s abc s1 defg s s1 abcdefg ii str join interable 將序列中的元素以指定的字串str連線生成乙個新的字串 interable必須是字串 ...

python的資料型別學習

1.複數 python 複數型別 hey kugua 2.lambda 關於python中的lambda,這可能是你見過的最完整的講解 測試自動化顧問 csdn部落格 lambda argument list expression 其中,lambda是python預留的關鍵字,argument li...