python集合用法_python集合的用法

1566718-20190218095329304-944532682.png

10392822.html

10392822.html

1.什么是集合

1.集合是一个可变容器

2.集合内的数据对象都是唯一的(不能重复)

3.集合是无序的存储结构,集合内的数据没有先后关系

4.集合是可迭代对象

5.集合相当于是只有键没有值得字典(键就是集合中的数据)

6.集合内的元素是不可变的

2.创建集合

1.使用直接量创建集合

注意:使用直接量不能创建空集合

s = {1,2,3}

s = {"hello",3.14,True,(2019,02,17)}

2.使用构造函数创建集合 - set

s = set() #创建空集合

s = set(iterable) #使用可迭代对象创建一个集合

s = set("ABC") # s = {'A','B','C'}

s = set([1,0,3.14,"hello"]) # s = {1,0,3.14,'hello'}

... ...

3.集合的运算

交集,并集,补集,子集,超集

1.交集 - &

s1 = {1,2,3}

s2 = {2,3,4}

s3 = s1 & s2 # s3 = {2,3}

2.并集 - |

s1 = {1,2,3}

s2 = {2,3,4}

s3 = s1 | s2 #s3 = {1,2,3,4}

3.补集 - -

s1 = {1,2,3}

s2 = {2,3,4}

s3 = s1 - s2 #生成属于s1 但 不属于s2的所有的元素

#s3 = {1}

4.对称补集 - ^

s1 = {1,2,3}

s2 = {2,3,4}

s3 = s1 ^ s2 # (s1 - s2) | (s2 - s1)

5.超集 - >

6.子集 - <

s1 = {1,2,3}

s2 = {2,3}

s1 > s2 # True s1 是 s2 的超集

s1 < s2 # False s1 不是 s2 的子集

7.集合的相等 - ==

8.集合的不等 - !=

s1 = {1,2,3}

s2 = {3,2,1}

s1 == s2 #True,集合相等

9.成员运算 - in , not in

等同于字典 in , not in

目的:判断某个值在集合中存在 / 不存在

4.用于集合的内建函数

len(set) : 集合内元素的个数

max(set) : 最大值

min(set) : 最小值

sum(set) : 和

any(set) : 任何一个元素为真,则返回真

all(set) : 所有元素为真,则返回真

5.用于集合的方法

1.add()

ContractedBlock.gif

ExpandedBlockStart.gif

作用:

向集合内增加元素,如果添加的元素已经存在的话,则不执行任何操作

语法:

集合对象.add(elem)

参数:elem 表示要增加的元素

返回值:无

View Code

2.clear()

ContractedBlock.gif

ExpandedBlockStart.gif

作用:

清空集合内所有的元素

语法:

集合对象.clear()

参数:无

返回值:无

View Code

3.copy()

ContractedBlock.gif

ExpandedBlockStart.gif

作用:

复制一个集合

语法:

集合对象.copy()

参数: 无

返回值:返回已复制的集合对象

View Code

4.difference()

ContractedBlock.gif

ExpandedBlockStart.gif

作用:

返回两个集合的补集

语法:

集合对象1.difference(集合对象2)

参数 :集合对象2 ,表示计算补集的另外一个集合

返回值 :补集结果,即出现在集合1中但没出现在集合2中的元素集合

等同于: 集合对象1- 集合对象2

View Code

5.difference_update()

ContractedBlock.gif

ExpandedBlockStart.gif

作用:

移除两个集合中都存在的元素

语法:

集合对象1.difference_update(集合对象2)

参数 集合对象2 :计算补集的集合

返回值:无

注意:直接从集合对象1中删除交集

View Code

6.remove()

ContractedBlock.gif

ExpandedBlockStart.gif

作用:

移除指定的元素

语法:

集合对象.remove(移除元素)

参数 移除元素:要移除的内容

返回值 :无

注意:如果要移除的元素不存在,则发生错误

View Code

7.discard()

ContractedBlock.gif

ExpandedBlockStart.gif

作用:

移除指定的元素

语法:

同上

注意:如果要删除不存在的元素,不会发生错误

View Code

8.pop()

ContractedBlock.gif

ExpandedBlockStart.gif

作用:

用于随机删除一个元素

语法:

集合对象.pop()

View Code

9.intersection()

ContractedBlock.gif

ExpandedBlockStart.gif

作用:

返回两个或多个集合中的交集元素

语法:

set1.intersection(set2,set3,set4)

参数:

做交集的集合对象,可以是多个

返回:

返回交集的集合结果

View Code

10.intersection_update

ContractedBlock.gif

ExpandedBlockStart.gif

作用:

获取多个集合的交集,但会将结果直接影响回调用该方法的集合对象

语法:

s1.intersection_update(s2)

参数:做交集的集合

返回值:无,但会影响s1的结果

View Code

11.isdisjoint()

ContractedBlock.gif

ExpandedBlockStart.gif

作用:

判断两个集合中是否包含相同的元素,如果没有返回True,否则返回False

语法:

s1.isdisjoint(s2)

View Code

12.issubset()

ContractedBlock.gif

ExpandedBlockStart.gif

作用:

判断一个集合的元素是否都包含在指定集合中(判断子集),如果是返回True,否则返回False

语法:

s1.issubset(s2)

View Code

13.issuperset()

ContractedBlock.gif

ExpandedBlockStart.gif

作用:

判断超集

语法:

s1.issuperset(s2)

返回值:

如果s1 包含 s2 ,则返回True

如果s1 不包含 s2 ,则返回False(如果s2中有的元素没在s1中)

View Code

14.symmetric_difference()

ContractedBlock.gif

ExpandedBlockStart.gif

作用:

对称补集,即返回两个集合中不重复的元素集合

语法:

s1.symmetric_difference(s2)

参数:计算对称补集的集合

返回值:返回一个不重复的元素的集合

等同于 s1^ s2

View Code

15.symmetric_difference_update()

ContractedBlock.gif

ExpandedBlockStart.gif

作用:

对称补集,将结果直接影响回原始集合

语法:

s1.symmetric_difference_update(s2)

View Code

16.union()

ContractedBlock.gif

ExpandedBlockStart.gif

作用:

返回两个集合的并集即返回两个集合中所有的元素,重复元素只出现一次

语法:

s1.union(s2)

返回值:并集结果

等同于:s1| s2

View Code

17.update()

ContractedBlock.gif

ExpandedBlockStart.gif

作用:

修改当前集合,也可以添加新元素到集合中

语法:

s1.update(s2)

参数:用于更新s1集合的新集合

返回值:会将更新的结果进行返回

View Code

6.集合推导式

集合推导式即允许使用可迭代对象生成集合的表达式

语法:

{ 表达式 for 变量 in 可迭代对象 if 条件}

L = [1,2,3,4,5,6,7,8,9]

s = { x for x in L}

s = { x for x in L if x % 2 == 0}

7.固定集合 - frozenset

1.特点

1.不可变的容器 - 允许作为字典的键

2.无序的

3.元素唯一

2.创建固定集合 - 使用构造函数(frozenset)

1.frozenset() : 创建一个空的固定集合

2.frozenset(iterable) : 使用可迭代对象创建固定集合

示例:

f = frozenset() # 空固定集合

f = frozenset([1,2,3,4]) # f = frozenset({1,2,3,4})

3.固定集合的运算

交集(&),并集(|),补集(-),对称补集(^)

<,>,>=,<=,==,!=

int / not in

4.固定集合的方法

相当于集合的全部方法去掉能够修改集合的方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值