Python集合

python集合简介

-由一个或者多个确定的元素构成

Python集合就是一个容器,容器内含有任意个无序元素(对象)

-集合内对象不重复

-集合成员可做字典中的键

-不支持索引(序列),不支持键索引(字典)



Python集合为可变集合和不可变集合

-可变集合set

支持add,remove操作,不能做为字典的键

-不可变集合frozenset

不支持可以作为字典的键,不能更改,不支持add,remove操作


Python集合为可变集合和不可变集合小结

可变集合元素可增加,减少

-add ,updata,remove方法

-clear方法

不可变集合,创建后不能改变

-可使用copy方法

-不能使用add,updata,remove,clear等

-可变集合和不可变集合混合运算,结果类型要考虑先后

-集合不支持序列的索引操作,不支持字典的键索引操作

-不可变集合可以做字典键,可变集合不可以做字典键

>>> s=set()
>>> s
set()
>>> type(s)
<class 'set'>
>>> s=set((1,4,2))
>>> s
{1, 2, 4}
>>> s=set(["a","c","b"])
>>> s
{'b', 'a', 'c'}
>>> s=set("123456")
>>> s
{'4', '5', '3', '1', '6', '2'}
>>> s=set("123456")
>>> s
{'4', '5', '3', '1', '6', '2'}
>>> d={1:"yy",2:"zz"}
>>> d
{1: 'yy', 2: 'zz'}
>>> s=set(d)
>>> s

{1, 2}


使用{}创建可变集合

>>> s={1,2}
>>> s
{1, 2}
>>> s={1,2,3,8,2}
>>> s
{8, 1, 2, 3}
>>> s={1,"abc",0,(1,2)}
>>> s

{(1, 2), 0, 'abc', 1}

forzenset


-创建不可变集合,可以做字典的键

-frozenset()

-forzenset(iterable)

>>> s=frozenset()
>>> s
frozenset()
>>> type(s)
<class 'frozenset'>
>>> s=frozenset("abcd")
>>> s
frozenset({'b', 'a', 'd', 'c'})
>>> s=frozenset((1,2,8,4))
>>> s
frozenset({8, 1, 2, 4})
>>> s=frozenset([1,2,5])
>>> s
frozenset({1, 2, 5})
>>> d
{1: 'yy', 2: 'zz'}
>>> s=frozenset(d)
>>> s

frozenset({1, 2})


集合运算

并集(多个集合的全集)

由所有属于集合A或属于集合B的元素所组成的集合,称为集合A与B的并集(Union),去重。

A | B 读作:A并B

>>> A={1,2,3}
>>> B={4,5,6}
>>> A|B

{1, 2, 3, 4, 5, 6}


交集(多个集合的公共部分)

-由属于集合A且属于集合B的元素所组成的集合,叫做集合A与B的交集

A&B 读作A交B

>>> A={1,2,3}
>>> B={2,5,6}
>>> A & B

{2}


补差/相对补集

-两个集合(A和B)的差补或相对补集是指一个集合C,该集合中的元素,只属于集合A,而不属于集合B、

-A-B

>>> A={1,2,3}
>>> B={1,4,5}
>>> A-B

{2, 3}


对称差分(^)

-两个集合(A和B)的对称差分是指另外一个集合C,该集合中的元素,只能是属于集合A或者集合B的成员,不能同时属于两个集合。

-A^B

>>> A={1,2,3}
>>> B={1,2,3,4}
>>> A^B

{4}


集合运算

集合等价,不等价(相等,不相等)运算

== 等于

!=不等于


>>> s1={1,2,3}
>>> s2=set((1,2,3))
>>> s1==s2
True
>>> s1 is s2
False
>>> s3=frozenset((1,2,3))
>>> s3==s2
True
>>> s3==s1

True


子集、超集

-两个集合(A和B)的差补或相对补集是指一个集合C,该集合中的元素,只属于集合A,而不属于集合B。

A-B

>>> A={1,2,3}
>>> B={1,2,3,4}
>>> A-B
set()
>>> B-A

{4}

>>> A>B
False
>>> A<B

True


混合集合类型操作

A可变集合

B不可变集合

>>> A={1,2,3}
>>> B=frozenset({1,2,3,4})
>>> A|B
{1, 2, 3, 4}
>>> A^B
{4}
>>> A-B
set()
>>> B-A

frozenset({4})


成员关系(in ,not in)

-判断一个对象是否是集合内的元素


>>> A={1,2,3}
>>> 1 in A
True
>>> 4 in A
False
>>> A={1,2,3}
>>> 1 not in A
False
>>> 4 not in A

True


遍历集合元素

可以是for in 遍历集合元素

-使用可变集合和不可变集合

>>> A
{1, 2, 3}
>>> for i in A:
...     print(i)
... 
1
2
3








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值