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)
#