集合的基本语法

  • 集合

定义:集合(set)是一个无序的不重复元素序列。多用于去重

可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

 

  1. 创建格式:

>>> s1 = {1,2,3,4}

>>> type(s1)

<class 'set'>

列表创建集合

>>> s2 = set(['a','a','a','b','c']) #集合的数据是不重复的

>>> print(s2,type(s2))

{'c', 'a', 'b'} <class 'set'>

 

元组创建集合

>>> s3 = set(('d','e','f'))

>>> print(s3,type(s3))

{'e', 'd', 'f'} <class 'set'>

 

字典创建集合

>>> s4 = set({1:'a',2:'b'})

>>> print(s4,type(s4))

{1, 2} <class 'set'>

 

  1. 增加集合中元素:

格式:s.add(x)

说明:将元素 x 添加到集合 s 中,如果元素已存在,则不进行任何操作,一次只能添加一个元素

示例:

>>> s1 = {1, 2, 3, 4, 6}

>>> s1.add('a')

>>> s1

{1, 2, 3, 4, 6, 'a'}

 

格式:s.update(x)

说明:添加元素,且参数可以是列表,元组,字典等x 可以有多个,用逗号分开,如果元素已存在,则不进行任何操作。

示例:

>>> s1 = {1, 2, 3, 4, 6, 'a'}

>>> s1.update('b')

>>> s1

{1, 2, 3, 4, 6, 'b', 'a'}

 

>>> s1 = { 'b', 'a'}

>>> s1.update([1,2,3],(4,5,6),{7:'x',8:'y'}) #添加列表,元组,字典

>>> s1

{1, 2, 3, 4, 5, 6, 7, 8, 'b', 'a'}

 

  1. 删除集合中元素:

 

格式:sdiscard(x)

说明:删除元素x,discard括号中必填已存在的元素,输入不存在的元素会报错

示例:

>>> s1

{2, 3, 4, 5, 6, 7, 8, 'b'}

>>> s1.discard(5)

>>> s1

{2, 3, 4, 6, 7, 8, 'b'}

 

格式:s.remove(x)

说明:删除元素x,remove括号中必填已存在的元素

示例:

>>> s1

{1, 2, 3, 4, 5, 6, 7, 8, 'b', 'a'}

>>> s1.remove('a')

>>> s1

{1, 2, 3, 4, 5, 6, 7, 8, 'b'}

 

格式:s.pop()

说明:随机删除集合中的一个元素,pop括号中为空在交互模式,pop 是删除集合的第一个元素(排序后的集合的第一个元素)

示例:

>>> s1.pop()

1

>>> s1

{2, 3, 4, 5, 6, 7, 8, 'b'}

 

Del清除当前的命名空间

>>> del s9

  1. 集合元素个数:

格式:len(s)

说明:计算集合 s 元素个数

示例:

>>> s1

{2, 3, 4, 6, 7, 8, 'b'}

>>> len(s1)

7

 

  1. 操作符和关系符:

与字符串一样,元组之间可以使用 + 号和 * 号进行运算他们可以组合和复制,运算后会生成一个新的元组。

测试数据准备:

>>> s1 = {2, 3, 4, 6, 7, 8, 'b'}

>>> s4 = set([1,2,3])

>>> s5 = set([1,2,34])

>>> s6 = set([1,2,3])

>>> s7 = set([1,2,3,88])

>>> s8 = set([1,2])

>>> s9 = set([4,5,6])

Python 表达式

Python 符号

说明

>>> 2 in s1

True

>>> 5 in s1

False

in

...的成员

>>> 2 not in s1

False

>>> 5 not in s1

True

Not in

不是...的成员

>>> s4 = set([1,2,3])

>>> s5 = set([1,2,34])

>>> s4 == s5

False

==

等于

>>> s4 = set([1,2,3])

>>> s5 = set([1,2,34])

>>> s4 != s5

True

!=

不等于

>>> s4 < s5

False

>>> s4 < s7

True

<

...的(严格)子集

>>> s4 <= s5

False

>>> s4 <= s7

True

<=

...的子集(包括非严格子集)

>>> s4 > s5

False

>>> s4 > s8

True

>

...的(严格)超集

>>> s4 >= s5

False

>>> s4 >= s8

True

>=

...的超集(包括非严格超集)

>>> s4 & s5

{1, 2}

>>> s4 & s9

set()

&

交集

>>> s4 | s5

{1, 2, 3, 34}

>>> s4 | s9

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

|

合集

>>> s4 - s5

{3}

>>> s4 - s9

{1, 2, 3}

-

差补或相对补集

>>> s4 ^ s5

{3, 34}

>>> s4 ^ s9

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

^

对称差集

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值