1.集合格式
集合名 = {元素1,元素2,元素3.....}
s1 = {1,2,3,4,5} #元素类型全是整型的时候,顺序固定
s2 = {'a','b','c','d','e',1,2,3} #集合具有无序性,每次运行结果都不一样
print(s1)
print(s2)
s3 = {} #这里是定义一个空的字典
print(s3,type(s3))
s4 = set() #这里是定义一个空的集合
print(s4,type(s4))
注意:集合是无序的,并且里面的元素是唯一的,所以集合一般用于元组或者列表的去重
2.集合无序性的实现方式涉及hash表(了解)
每次运行的结果不同,代表hash值在变化,所以其在hash表中的位置也就不同进而实现了集合的无序性,但是python中int整型的hash值就是它本身,所以它的hash值和顺序都不会变化。此外也正是因为有无序性,所以不能修改集合的值。
print(hash(1))
print(hash('a'))
print(hash('1'))
3.集合具有唯一性,所以可以自动去重
s1 = {1,2,3,1,2}
print(s1)
4.集合中常见的操作
(1)添加元素
- add整体添加
s1 = {1,2,3}
print(s1)
s1.add(4)
print(s1)
s1.add(4) #集合中不允许有重复元素,重复元素会自动忽略
print(s1)
#s1.add(5,6) 不可以一次性添加多个元素
- update把传入的元素先拆分,然后一个一个放入集合中
s1 = {1,2,3} print(s1) s1.update([4,5,6]) print(s1) s1.update((7,8,9)) print(s1) s1.update({10,11,12}) print(s1) s1.update("hello") print(s1)
(2) 删除元素
- remove:选择删除的元素,如果没有该元素就报错
s1 = {1,2,3,4,5}
print(s1)
s1.remove(3)
print(s1)
#s1.remove(6) 删除集合中不存在的元素,会报错
- pop:默认将左边的第一个元素删除
s1 = {'a','b','c','d','e'} print(s1) s1.pop() print(s1) #s1.pop() #删除集合中最后一个元素,并返回该元素
-
discard:选择要删除的元素,有就会删除,没有则不会发生任何改变,即不会进行任何操作
s1 = {1,2,3,4,5}
print(s1)
s1.discard(1)
print(s1)
s1.discard(6) #删除集合中不存在的元素,不会报错
print(s1)
5.集合的交集和并集
交集
并集
s1 = {1,2,3,4,5}
s2 = {4,5,6,7,8}
print(s1 & s2 ) #求两个集合的并集
print(s1 | s2 ) #求两个集合的并集
s3 = {1,2,3}
s4 = {4,5,6}
print(s3 & s4)