特性:
無序,用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...