集合的表现形式跟元组类似,元组用()包含所有元素,集合则用{}包含所有元素。
集合的作用在于计算交集,并集,差集。
集合有如下特点:
(1)确定性:集合中的元素不能为变量
(2)唯一性:集合中元素的值不能重复
(3)无序性:集合中的元素没有索引
if __name__ == '__main__':
set1={"abc","def",1,0,-5,2.343,-9+6j}
set2=set("breakloop")
set3=set()
print("set1=",set1)
print("set2=",set2)
print("set3=",set3)
对应输出为
set1= {'abc', 1, 0, 2.343, (-9+6j), 'def', -5}
set2= {'e', 'p', 'a', 'r', 'b', 'l', 'k', 'o'}
set3= set()
创建集合有两种方法
(1)set()
(2){data1,data2,...}
需要说明的是
(1)集合可以为空,但创建空集合时,必须使用set()。若使用{},则创建的是空字典。
(2)在set2中,breakloop中的两个o,只保存了一个。响应唯一性的特点。
set3.add("breakloop")
print("set3=",set3)
set3.add("breakloop")
print("set3=",set3)
set3.remove("breakloop")
print("set3=",set3)
set1.remove("breakloop")
print("set1=",set1)
相应输出为
set3= set()
set3= {'breakloop'}
set3= {'breakloop'}
set3= set()
KeyError: 'breakloop'
需要注意的是,
(1)如果集合中,不存在要删除的对象,则会报错。
(2)若果集合中,已存在要添加的对象,将不会再次添加。
setA={1,2,3,4,5}
setB={3,4,5,6,7}
print("setA & setB = ", setA & setB) #交集
print("setA | setB = ", setA | setB) #并集
print("setA - setB = ", setA - setB) #差集
print("setB - setA = ", setB - setA) #差集
相应输出为
setA & setB = {3, 4, 5}
setA | setB = {1, 2, 3, 4, 5, 6, 7}
setA - setB = {1, 2}
setB - setA = {6, 7}