第十二篇 集合(学会集合 看我这一篇文章就够啦!!!)

本文详细介绍了Python集合的定义、两种特点(无重复元素和无序性)、支持的数据类型、遍历方法以及常用的增删改查操作,包括交集、并集、补集和差集等核心操作。
摘要由CSDN通过智能技术生成

1.集合的定义:

定义空集合:d = set()

不能用{}  因为这样定义字典  如下图所示:

s = {}
print(s,type(s))

 

定义非空集合:2种方法 如下图所示:

将可迭代的字符串、列表、元组放入集合中,如果将可迭代的字典放入集合中值会丢失 键放入集合中!!!

s1 = {1,2,3}
print(s1)
s2 = set("hello world")
print(s2)  # 可迭代的字符串
s3 = set([1,2,3,4,5])
print(s3)  # 可迭代的列表
s4 = set((1,3,1,2,0))   # 可迭代的元组
print(s4)

 2.集合的两种特点:

2.1 集合中的元素不重复:

s3 = set([1,2,3,4,5,1,0,2,3,4,5])
print(s3)

  

2. 2集合中的元素无序:下图所示 并不是按照“hello world”的顺序放入集合中

s2 = set("hello world")
print(s2)  

  

 3. 集合中的数据类型:

集合中放的数据类型必须是不可变类型比如数组、字符串、False等等

不能是列表、字典 、集合(因为集合本身也是可变类型)如下图所示:

s4 = {1,2,False,None,"hello",(1,),[1,2]}
print(s4)

 

4. 集合的遍历:

集合的遍历只有一种方法:

s4 = {1,2,False,None,"hello",(1,)}
for s in s4:
    print(s)

5. 集合的常用操作:

5.1 len 打印集合的长度     in  判断元素是否在集合中

# 集合可以用len , in
s4 = {1,2,False,None,"hello",(1,)}
print(len(s4)) # 6
print(3 in s4,2 in s4)

5.2  添加  add  将指定元素加到集合中  update  将可迭代字符串加到集合中


s = {1,2,3,4,5,6}
s1 = {3,4,5,6,7,8,9}
s.add((3,4,5))
print(s)
s.update("345")
print(s)

5.3  pop 随机删除集合中一个元素   

       remove 删除指定元素  没有返回值  不存在就报错

       discard  删除指定元素 找不到就忽略 还是原集合

       clear  清空集合


print(s.pop())  # 随机删除1个元素
print(s.remove(7),s) # 删除指定元素 没有返回值  不存在就报错
print(s.discard(7),s)  # 删除指定元素 找不到就忽略 还是原集合
print(s.clear())  # 清空集合

6. 核心操作:交并补差

6.1 交集 你有我也有

s = {1,2,3,4,5,6}
s1 = {3,4,5,6,7,8,9}
print(s&s1)  # {3, 4, 5, 6}
print(s.intersection(s1))  # {3, 4, 5, 6}

6.2 并集 你我加一起

print(s.union(s1)) # {1, 2, 3, 4, 5, 6, 7, 8, 9}
print(s|s1) # {1, 2, 3, 4, 5, 6, 7, 8, 9}

6.3 补集  全集 - 集合 

s = {1,2,3,4,5,6}
s1 = {3,4,5,6,}
print(s-s1)  # s1的补集是{1, 2}
print(s1.symmetric_difference(s))

 6.4 差集 我有你没有

print(s.difference(s1)) # s有的s1没有  {1, 2}
print(s1.difference(s))   # s1有的s没有  {8, 9, 7}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值