目录
Python集合基础
集合是不重复元素的无序集,它兼具了列表和字典的一些性质。
集合有类似字典的特点:用花括号“{ }”来定义,其元素是非序列类型的数据,也就是没有顺序,并且集合中的元素不可重复,也必须是不变对象,类似于字典中的键。集合的内部结构与字典很相似,区别是“只有键没有值”。
另一方面,集合也具有一些列表的特点:拥有一系列元素,并且可原处修改。由于集合是无序的,不记录元素位置或者插入点,因此不支持索引、切片或其他类序列(sequence-like)的操作。
1 集合的创建
1.1 直接使用{ }创建集合
setname = {element1,element2,element3,...,elementn}
在创建集合时,如果输入了重复的元素,Python会自动只保留一个。
1.2 使用set()函数创建集合
在Python中,可以使用set()函数将列表、元组等其他可迭代对象转换为集合。
使用set()函数将字符串转换为集合,如下
setname = set("开放的河南城建学院欢迎您!")
print(setname)
运行结果如下
若创建空集合,只能使用set()函数,大括号“{ }”表示创建一个空字典。
2 集合元素的常见操作
集合是可变序列,所以在创建集合后,还可以对其添加或者删除元素。
2.1 向集合中添加元素
(1)add( )方法 (2) update( ) 方法,向集合追加的数据是序列 运行程序如下:
setname = set(['北京大学','清华大学'])
setname.add('欢迎来到')
print(setname)
setname1 = set(['北京大学','清华大学'])
setname1.update(['河南城建学院'])
print(setname1)
运行结果图如下:
2.2 从集合中删除元素
在Python中,可以使用del命令删除整个集合,也可以使用集合的discard( )方法、pop( )方法或者remove( )方法删除一个元素,或者使用集合对象的clear( )方法清空集合,即删除集合中的全部元素,使其成为空集合。discard( )方法删除集合中的指定数据,若数据不存在也不会报错。
向集合中添加、删除、清空元素,示例如下:
setname = set(['北京大学','清华大学'])
setname.add('河南城建学院')
print("增加一个集合元素:",setname)
setname.remove('河南城建学院')
print("删除指定集合元素:",setname)
setname.pop()
print("随机移除一个集合元素:",setname)
setname.clear()
print("清空集合:",setname)
运行结果如下:
使用 remove( ) 方法时,如果指定的内容不存在,将抛出异常。
2,3 查找元素
in 判断数据在集合序列; not in 判断数据不再集合序列
判断元素是否在集合中存在,示例如下:
s1 = {10,20,30,40,50}
print(10 in s1)
print(10 not in s1)
运行结果如下:
3 集合的交集、并集和差集数学运算
“&”交集运算符号,“|”并集运算符号,“-”差集运算符号
对集合进行交集、并集和差集运算,示例如下:
s1 = {'a','e','i','o','u'}
s2 = {'a','b','c','d','e'}
print(s1&s2) #s1与s2的交集
print(s1|s2) #s1与s2的并集
s3 = {'a','e'}
print(s1-s3) #s1与s3的差集
运行结果图如下:
集合是可修改的数据类型,但集合中的元素必须是不可修改的。换句话说,集合中元素只能是数值、字符串、元组之类的。