python建立空集合_「python」集合类型及操作

目录:

集合类型定义

集合操作符

集合处理方法

集合类型应用场景

  • 1 集合类型定义

集合是多个元素的无序组合

集合用大括号 {} 表示,元素间用逗号分隔

建立集合类型用 {} 或 set()

建立空集合类型,必须使用set()

重要特点:无序,唯一

要符合这些特点,集合要求元素不可更改,不能是可变数据类型。有些同学可能会有疑问:

为什么数据类型是不可改变的呢?

因为如果其中的某一个元素是可以被改变的,它一旦改变之后可能会和其他的元素相同,这样子的话集合类型就会出现错误

有哪些是不可变数据类型呢?

整数,浮点数,复数,字符串类型,元组类型等

哪些是可变数据类型呢?

列表类型是可以被修改的数据类型,这个类型一旦被放到集合中,这个集合就可能会出错

下面举几个例子:

例1

>>> A = {"python", 123, ("python",123)} #使用{}建立集合,元素间用逗号间隔,包含3个元素

{123, 'python', ('python', 123)}

例2

>>> B = set("pypy123") #使用set()建立集合,不用逗号隔开,每个字符都是一个元素

{'1', 'p', '2', '3', 'y'}

例3

>>> C = {"python", 123, "python",123} #考虑到唯一性,该集合只有2个元素,重复的过滤掉

{'python', 123}

  • 2 集合操作符
124cc029ff513e5e826db2579df5e349.png

并差交补

85a36fa0a09dd5349a218cff619ad8bb.png

6个操作符,返回一个新集合

4dc0f5bf325e56cc572403ffff0d93ea.png

4个增强操作符,更新集合S

我们来看例题:

例4

>>> A = {"p" , "y" , 123}

{'p','y',123}

>>> B = set("pypy123")

{'p','y','1','2','3'}

>>> A-B #返回一个新集合,包含在A中,但是不在B中的的所有元素

{123}

>>> B-A #返回一个新集合,包含在B中,但不在A中的元素

{'3', '1', '2'}

>>> A&B #返回一个新集合,既包含在A中,也包含在B中的元素

{'p', 'y'}

>>> A|B #返回一个新集合,包含在A和B中的所有元素

{'1', 'p', '2', 'y', '3', 123}

>>> A^B #返回一个新集合,包含在A和B中的非相同元素

{123,'1','2','3'}

>>>A<=B #返回False,A不是B的子集

False

>>>A>=B #返回False,A不包含B

False

其实蛮好记忆的,根据图形和字义,很容易能理解每个字符的作用,并差交补,并是合并,所以是两个集合的所有元素,差是差值,类似被减数与减数,交是交集,共同部分,补是去掉相同的,把不相同的补上。

增强操作符就不举例了,不同点在于是返回新的集合,而是更新集合A,以及字符格式有所不同。

  • 3 集合处理方法
4c70a3a954533231a426d3ada36b771a.png
89e5ad3641c6ba9bfff3283bfe598142.png

例5

>>>collection={1,2,"apple","orange","cat"} # 查看一个数是否在集合中 in

>>>print("Tome" in collection)

False

>>>print("apple" in collection)

True

例6

>>>pets=set() # 集合初始化时用set() pets={}是代表初始化了一个字典集

>>>pets.add("dog") # 集合添加元素用add()方法

>>>pets.add("cat")

>>>pets.add("bird")

>>>pets.add("zebra")

>>>print(pets)

{'cat', 'dog', 'zebra', 'bird'}

>>>pets.discard("zebra") #删除元素用discard()

>>>print(pets)

{'cat', 'dog', 'bird'}

>>>pets.remove("duck") #用remove删除不存在的元素会有报错

Traceback (most recent call last):

File "C:/CIT/test.py", line 7, in

pets.remove("duck")

KeyError: 'duck'

例7

>>>dict1={"cat":1,"dog":2,"bird":3} # 将一个字典集的keys转为集合,用set(字典集名)

>>>print(set(dict1))

{'bird', 'dog', 'cat'}

  • 4 集合类型应用场景

从以上的例子我们可以得知,集合类型的应用场景有:

(1)包含关系比较,如例5

(2)数据去重,如例3

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值