一般地,我们把研究对象统称为元素;把一些元素组成的总体叫做集合
无序性:一个集合中,每个元素的地位都是相同的,元素之间是无序的。
互异性:一个集合中,任何两个元素都认为是不相同的,即每个元素只能出现一次。
确定性:给定一个集合,任给一个元素,该元素或者属于或者不属于该集合,二者必居其一,不允许有模棱两可的情况出现。
集合是存储无序、元素不重复的数据类型
- 创建一个空集合必须用 set() 而不是 { },
因为 { } 是用来创建一个空字典。 - 集合内的数据无序。无序,则不能使用数据的分片操作。
- 集合内的数据元素具有唯一性。这个特点可以用于进行数据的排重。
创建
# 创建空集合
mset = set(); # 不能用{} 因为{}是创建空字典
print(mset)
# 创建非空集合
mset = {1,2,3,3,4,5} # 集合元素不能重复,如有重复默认去重了
print(mset) # {1, 2, 3, 4, 5}
nset = set("123345")
print(nset)
添加
mset = {1,2,3,3,4,5}
mset.add(12) # add添一个
print(mset)
mset.update({12,13,14,15,16}) # update 添多个
print(mset)
删除
mset = {1,2,3,3,4,5}
print(mset)
print(mset.pop()) # 因为集合无序,删任意
print(mset)
遍历
for i in mset:
print(i)
交并补
mset = {1,2,3,4,5}
nset = {3,4,5,6,7,8}
print(mset)
print(nset)
print("交集:", mset & nset)
print("并集:", mset | nset)
print("差集:", mset - nset) # 属于mset不属于nset
print("交叉补集:", mset ^ nset) # 属于集合a不属于集合b 和 属于集合b不属于集合a的