网站首页 > 基础教程 正文
- 集合(set)是一个无序的不重复元素序列。
- 集合有可变集合(set)和不可变集合(frozenset)两种。
- 在形式上,集合的所有元素都放在一对“{}”,两个相邻元素间使用“,”分隔,或者也可以使用 set() 函数创建集合。
集合创建
1、直接使用“{}”创建
setname = {element 1,element 2,element 3,...,element n}
- setname:集合的名称
- element 1,element 2,element 3,...,element n:集合中的元素,个数没有限制,但必须是python支持的数据类型。
2、使用set()函数创建
setname = set(iteration)
- setname:集合的名称
- iteration:要转换为集合的可迭代对象,可以是列表、元组、range对象等,也可以是字符串。如果是字符串,返回的集合将是包含全部不重复字符的集合。
注意:
- 在创建集合时,如果输入了重复的元素,python会自动识别只保留一个。
- 由于python中的set集合是无序的,所以每次输出时元素的排列顺序可能都不相同。
- 在创建空集合时,只能使用set()实现,而不能使用“{}”实现,是因为在python中,直接使用“{}”表示创建一个空字典。
集合添加
setname.add(element)
- setname:集合名称
- element:要添加的元素内容,只能使用字符串、数字、布尔类型的“True”或“False”及元组等不可变对象,不能使用列表、字典等可变对象。
s = set(('a','b','c','d'))
s.add('e')
print(s)
输出:
{'a', 'e', 'd', 'c', 'b'}
setname.update( element )
- setname:集合名称
- element:要添加的元素内容,参数可以是列表,元组,字典等。
s = set(('a','b','c','d'))
s.update(['e','f'])
print(s)
输出:
{'a', 'e', 'd', 'c', 'f', 'b'}
集合删除
del命令:删除整个集合
pop()方法:随机删除集合中的一个元素
remove()方法:删除一个元素,但需要判断指定内容是否存在
clear()方法:清空集合,使其变为空集合
s = set(['a','b','c','d'])
s.remove('b')
print("remove:",s)
s.pop()
print("pop:",s)
s.clear()
print('clear:',s)
输出:
remove: {'d', 'c', 'a'}
pop: {'c', 'a'}
clear: set()
集合的交集、并集和差集运算
交集运算“&”符号
并集运算“|”符号
差集运算“-”符号
对称差集运算“^”符号
s1 = set(['a','b','c','d'])
s2 = set(['e','b','f','g'])
print("s1:",s1)
print("s2:",s2)
print("s1和s2的交集:",s1&s2)
print("s1和s2的并集:",s1|s2)
print("s1和s2的差集:",s1-s2)
print("s2和s1的差集:",s2-s1)
print("s1和s2的对称差集:",s1^s2)
输出:
s1: {'b', 'd', 'c', 'a'}
s2: {'f', 'g', 'b', 'e'}
s1和s2的交集: {'b'}
s1和s2的并集: {'g', 'a', 'e', 'd', 'c', 'f', 'b'}
s1和s2的差集: {'c', 'd', 'a'}
s2和s1的差集: {'f', 'g', 'e'}
s1和s2的对称差集: {'g', 'a', 'e', 'd', 'c', 'f'}
列表、元组、字典和集合的区别
数据结构 | 是否可变 | 是否重复 | 是否有序 | 定义符号 |
列表 list | 可变 | 可重复 | 有序 | [] |
元组 tuple | 不可变 | 可重复 | 有序 | () |
字典 dictionary | 可变 | 可重复 | 无序 | {key:value} |
集合 set | 可变 | 不可重复 | 无序 | {} |
猜你喜欢
- 2024-10-31 如何用 GitHub Actions 写出高质量的 Python代码?
- 2024-10-31 Python集成ActiveMQ,异步发送处理消息,详细代码手把手操作
- 2024-10-31 python 魔法方法连载三 __setattr()__
- 2024-10-31 CentOS 7下编译安装Python3 centos7安装python3.7
- 2024-10-31 3分钟掌握Python 中的集合 python中集合的概念
- 2024-10-31 Python3 集合 python 集合 discard
- 2024-10-31 群晖安装python3 群晖安装python3.7
- 2024-10-31 Python的设计还是很精妙的,三分钟理解__get__和__set__
- 2024-10-31 十六、Python集合set常用方法 python set集合和list集合的区别
- 2024-10-31 python数据类型-集合set python set集合取值
- 最近发表
- 标签列表
-
- jsp (69)
- gitpush (78)
- gitreset (66)
- python字典 (67)
- dockercp (63)
- gitclone命令 (63)
- dockersave (62)
- linux命令大全 (65)
- pythonif (86)
- location.href (69)
- dockerexec (65)
- tail-f (79)
- queryselectorall (63)
- location.search (79)
- bootstrap教程 (74)
- 单例 (62)
- linuxgzip (68)
- 字符串连接 (73)
- html标签 (69)
- c++初始化列表 (64)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)