概念:
集合是无序和无索引的集合
注意:元素是无序的,所以无法确定元素 的显示顺序
写法:
setName={'element','element2','element3'...}
访问元素
注意:集合是不能用索引(下标)来访问里面的元素的,因为集合是无序的,里面的元素没有索引
但是可以通过for循环遍历集合,和in来查询该元素是否存在在集合中
例子:
setName={1,2,4,5,6}
for i in setName:
print(i,end=' ') #1 2 4 5 6
检查元素是否存在在集合中
例子:
setName={1,2,4,5,6}
if 1 in setName:
print('存在呢') #存在呢
更改元素
注意:一旦创建了集合,就不能更改里面的元素,但是你可以添加新元素
添加新元素
1.要将一个新元素添加到集合中,可以使用add()方法
例子:
setName={1,2,4,5,6}
setName.add(8)
print(setName) #{1, 2, 4, 5, 6, 8}
2.要向集合中添加多个元素,可以使用update()方法
例子:
setName1={1,2,4,5,6}
setName1.update([7,8,9,10])
print(setName1) #{1, 2, 4, 5, 6, 7, 8, 9, 10}
获取集合的长度
要确定集合中有多少元素,可以使用len()方法
例子:
setName1={1,2,4,5,6}
a=len(setName1)
print(a) #5 这个setName的长度是5
删除元素
1.要删除集合中的元素,第一种方法是使用remove()方法
注意:如果remove检测到要删除的项目没有就会报错
例子:
setName1={1,2,4,5,6}
setName1.remove(1)
print(setName1) #{2, 4, 5, 6} 删除了元素1
2.要删除集合中元素,第二种方法就是使用discard()方法
例子:
setName1={1,2,4,5,6}
setName1.discard(1)
print(setName1) #{2, 4, 5, 6} 删除了元素1
区别:这两种方法的区别就是remove没有查到该元素就会报错,而discard就不会
使用pop()删除最后一项
注意:因为集合是无序的,所以在使用pop()时,你不知道会删除掉哪个元素。
例子:
setName1={1,2,4,5,6}
setName1.pop()
print(setName1) #{2, 4, 5, 6} 删除了元素1
clear()方法清空集合里面所有元素:
例子:
setName1={1,2,4,5,6}
setName1.clear()
print(setName1) # set() 显示一个空集合
del删除集合
例子:
setName1={1,2,4,5,6}
del setName1 #删除集合
print(setName1) #就会显示没有定义这个集合
合并两个集合或多个集合
1.使用union()方法
例子:
setName1={1,2,4,5,6}
setName2={7,8,9}
setName4={10,11,12}
set3=setName1.union(setName2,setName4)
print(set3) #{1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12}
2.使用update()方法将集合2插入到集合1中
例子:
setName1={1,2,4,5,6}
setName2={7,8,9}
setName1.update(setName2)
print(setName1) #{1, 2, 4, 5, 6, 7, 8, 9}
注意:union()和update()都将排除集合里面重合的元素只留下一个
例子:
setName1={1,2,4,5,6}
setName2={7,8,9,1,1,2}
setName1.update(setName2)
print(setName1) #{1, 2, 4, 5, 6, 7, 8, 9}
set()构造函数
可以使用set()构造函数来创建集合
例子:
setName1=set((1,2,4,5,6))
print(setName1) #{1, 2, 4, 5, 6}
copy()复制集合
例子:
setName1={1,2,4,5,6}
setName2=setName1.copy()
print(setName2) #{1, 2, 4, 5, 6}
differen()方法
different()方法返回一个集合,假如set1里面有的元素存在而在set2里面没有那些元素,就返回set1里面set2没有的元素
例子:
setName1={1,2,4,5,6}
setName2={1,2,7,8,9}
s=setName1.difference(setName2)
print(s) #{4, 5, 6}
difference_update() 方法
这个方法主要删除两个集合中都存在的元素:
setName1={1,2,4,5,6}
setName2={1,2,7,8,9}
setName1.difference_update(setName2)
print(setName1)#{4, 5, 6}
intersection() 方法
返回包含存在于集合 x 和集合 y 中的元素的集合
例子:
setName1={1,2,4,5,6}
setName2={1,2,7,8,9}
a=setName1.intersection(setName2)
print(a)#{1,2}
intersection_update() 方法
删除集合 x 和集合 y 都不存在的元素
setName1={1,2,4,5,6}
setName2={1,2,7,8,9}
setName1.intersection_update(setName2)
print(setName1)#{1,2}
isdisjoint() 方法
所有集合 x 中没有元素存在于集合 y 中,则返回 True
例子:
setName1={1,2,4,5,6}
setName2={7,8,9}
a=setName1.isdisjoint(setName2)
print(a) #True
issubset() 方法
如果集合 y 中存在集合 x 中的所有元素,则返回 True
例子:
setName1={1,2,4,5,6}
setName2={1,2,4,5,6,7,8}
a=setName1.issubset(setName2)
print(a) #True
symmetric_difference() 方法
返回一个集合,其中包含两个集合中的所有元素,但两个集合中都存在的元素除外
例子:
setName1={1,2,4,5,6}
setName2={1,2,4,5,6,7,8}
a=setName1.symmetric_difference(setName2)
print(a) #{7, 8}
symmetric_difference_update() 方法
删除两集合中都没有的元素,然后插入两集合中都没有的元素
例子:
setName1={1,2,4,5,6}
setName2={1,2,4,5,6,7,8}
setName1.symmetric_difference_update(setName2)
print(setName1) #{7, 8}