python 集合

集合是python提供的内置数据结构,属于可变序列;

集合就是没有value的字典,数据存储和也使用哈希

一、集合的创建

1、使用花括号创建

t={'hello','world'}

python 集合_第1张图片

我们可以看到重复的元素被剔除了,因为与字典一样,key不可以重复

2、使用内置函数set()

python 集合_第2张图片

3、定义一个空集合 

可以看到,创建空集合只能使用set,使用花括号会被识别为字典

python 集合_第3张图片

二、集合的相关操作

1、集合元素的判断操作

in not in

python 集合_第4张图片

2、集合元素的新增操作

    <1>add() 一次添加一个元素

python 集合_第5张图片

 

    <2>update() 至少添加一个元素

python 集合_第6张图片

3、集合的删除操作

<1>remove()

若删除不存在元素则会抛出KeyError异常

python 集合_第7张图片 

 <2>discard()

若删除不存在元素不会抛出异常

 python 集合_第8张图片

<3> pop()

一次删除一个任意元素(删谁不知道.......不知道这个函数的意义是什么,还不可以有参数)

<4>clear()

清空集合所有元素

python 集合_第9张图片

三、集合间的关系

1、两个集合是否相等,可以用 == 或 !=判断

python 集合_第10张图片

可以看到,虽然元素顺序不一样,但是只要里面的元素一样,就是相等的

2、一个集合是否是另一个集合的子集,可以用issubset进行判断,这个感觉很方便呀

python 集合_第11张图片

 

 

3、一个集合是都是另一个集合的超集,可以用issperset进行判断

python 集合_第12张图片

 

4、两个集合是否没有交集(注意是没有),可以用isdisjoint进行判断,!!!这个也有用啊!!!!刷题处理字符串应该蛮好用

python 集合_第13张图片

这两个序列都是有交集的,所以这个结果为false

 

 四、集合的数学操作 

1、交集操作(有用)    产生的是新集合

intersection() 或者 &

python 集合_第14张图片

2、并集操作  产生的是新集合

union() 或者 |

python 集合_第15张图片

3、差集操作  产生新集合

difference() 或者 - 

python 集合_第16张图片

4、对称差集

symmetric_difference() 或者 ^

python 集合_第17张图片

五、集合生成式

{i*i for i in range(10)} 

python 集合_第18张图片

 

 

 

 

 

 

你可能感兴趣的:(python)