Python3之集合set

本文介绍了Python3中的集合set,包括如何定义和创建集合,以及集合的基本操作如添加、移除元素,计算元素个数,清空和删除集合。同时,还详细阐述了集合的内置方法,如交集、并集、差集和对称差集的操作。
摘要由CSDN通过智能技术生成

1、定义及创建

集合是一个无序不重复元素序列

创建集合可以使用{}或者set()函数,但创建一个空集合时只能使用set()函数,不能使用{},因为{}用于创建一个空字典,当使用set()创建集合时,value为一个元组

语法:set(value)或setA = {value01,value02,...}

setA = set((1 , 2 , 3 ,4))
setB = {'a' , 'b' , 'c' , 'd' , 'a' , 'e' , 'f'}
print("集合setA为:", setA)
print("集合setB为:", setB) # 集合去重
集合setA为: {1, 2, 3, 4}
集合setB为: {'b', 'f', 'c', 'a', 'd', 'e'}

2、集合的基本操作

setA = set((1 , 2 , 3 ,4))

a、添加元素

方法1:setA.add(x),将x添加到集合setA中,如setA中已存在元素,则不进行添加操作,

方法2:setA.update(x),将元素x添加到集合setA中,且参数x可以是列表、元组、字典、数组等,如setA中已存在元素,则不进行添加操作

注:

1、字符串作为参数添加集合元素,字符串被拆分成一个个的字符作为集合的元素

2、字典作为参数添加集合元素,仅将字典的key添加至集合中

# 2、添加集合元素
# 1、set.add(x)添加集合元素,如集合中已有元素,则不再进行添加操作
# 2、set.update(x)添加集合元素,x可是字符串、列表、元组、字典
setA = set((1 , 2 , 3 ,4))
print("集合setA添加完元素前为:" , setA)
setA.add(4) # 集合中已有元素4,因此不再继续重复添加4
setA.add(5)
print("集合setA添加完元素5后为:" , setA)
# set.update(x)使用字符串添加集合
setA.update('1678')
# 使用字符串添加集合元素,字符串被拆分成一个个的字符作为集合的元素
print("set.update(x)使用字符串1678添加集合后为:" , setA)
# set.update(x)使用列表添加集合
setA.update(['a' , 'b' , 2 ])
print("set.update(x)使用列表['a' , 'b' , 2 ]添加集合后为:" , setA)
# set.update(x)使用元组添加集合
setA.update(('c' , 'd' , 3 ))
print("set.update(x)使用元组('c' , 'd' , 3 )添加集合后为:" , setA)
# set.update(x)使用字典添加集合
setA.update({'Kobe' : '24' , 'Curry' : '30' })
print("set.update(x)使用字典{'Kobe' : '24' , 'Curry' : '30' }添加集合后为:" , setA)
集合setA添加完元素前为: {1, 2, 3, 4}
集合setA添加完元素5后为: {1, 2, 3, 4, 5}
set.update(x)使用字符串1678添加集合后为: {1, 2, 3, 4, 5, '7', '1', '8', '6'}
set.update(x)使用列表['a' , 'b' , 2 ]添加集合后为: {1, 2, 3, 4, 5, '7', '1', '8', '6', 'b', 'a'}
set.update(x)使用元组('c' , 'd' , 3 )添加集合后为: {1, 2, 3, 4, 5, '7', 'c', '1', '8', '6', 'b', 'd', 'a'}
set.update(x)使用字典{'Kobe' : '24' , 'Curry' : '30' }添加集合后为: {1, 2, 3, 4, 5, '7', 'c', '1', '8', '6', 'Kobe', 'Curry', 'b', 'd', 'a'}

b、移除元素

方法1:setA.remove(x),将元素x从集合setA中移除,如x不存在,报错

方法2:setA.discard(x), 将元素x从集合setA中移除,如x不存在,不会报错

方法3:setA.pop(),随机删除集合中的一个元素;set集合的pop()方法会对集合进行无序排列,删除无序排列集合的左边第一个元素(每次移除结果不一样)

setA = {'1' , '2' , '3' , '4' , '5'}
setA.remove('1')
print('setA.remove(x)移除集合元素:' , setA)
# setA.remove(x)移除不存在的元素会报错
# setA.remove('1')
# print('setA.remove(x)移除集合元素:' , setA)
setA.discard('2')
print('setA.discard(x)移除集合元素:' , setA)
# setA.discard(x)移除不存在的元素2不会报错
setA.discard('2')
print('setA.discard(x)移除不存在的元素2不会报错:' , setA)
# setA.pop()每次移除的集合元素值不一样
setA.pop()
print('setA.pop()移除集合元素后为:' , setA)
setA.remove(x)移除集合元素: {'3', '2', '5', '4'}
setA.discard(x)移除集合元素: {'3', '5', '4'}
setA.discard(x)移除不存在的元素2不会报错: {'3', '5', '4'}
setA.pop()移除集合元素后为: {'5', '4'}

c、计算集合元素个数

len(setA)用于计算集合中元素个数

d、清空集合

setA.clear()

e、删除集合

del setA

f、判断元素是否存在于集合中

x in setA,判断元素 x 是否在集合 setA 中,存在返回 True,不存在返回 False

# 4、计算集合中长度
setA = {'1' , '2' , '3' , '4' , '5'}
print("集合setA中元素个数为:%d" % len(setA))

# 5、清空集合
setA = {'1' , '2' , '3' , '4' , '5'}
setA.clear()
print("setA.clear()清空集合setA后为:" , setA)

#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值