- python中set是一种无序且不重复的元素集合。
Python 集合
会将所有元素放在一对大括号 {}
中,相邻元素之间用“,”分隔
Python 中的序列类型包括列表(list)、元组(tuple)、字典(dict)和集合(set)。
数据是有序:列表(list)和元组(tuple)比较相似,它们都按顺序保存元素,所有的元素占用一块连续的内存,每个元素都有自己的索引,因此列表和元组的元素都可以通过索引(index)来访问。它们的区别在于:列表是可以修改的,而元组是不可修改的。
数据是无序:字典(dict)和集合(set)存储的数据都是无序的,每份元素占用不同的内存,其中字典元素以 【key-value 】的形式保存。
occ = set() #创建一个空集合
non_empty_set = {1,2,3} #创建一个包含元素的非空集合
#注意,如果要创建空集合,只能使用 set() 函数实现。因为直接使用一对 {},Python 解释器会将其视为一个空字典。occ.add(1) #添加元素
occ.add(2)occ.remove(1) #删除元素
occ.discard(2)
#删除元素,与remove的区别是,若元素不存在,使用remove会引发KeyError,使用discard不会occ.pop() #随机删除集合中元素
occ.clear() #清空集合
occ.copy #复制集合
len(occ) #计算occ中元素个数#集合运算
set1 = {1,2,3}
set2 = {3,4,5}union_set = set1 | set2 #并集:{1,2,3,4,5}
intersection_set = set1&set2 #交集 {3}
different_set = set1 -set2 #差集 {1,2}
那我们为什么要使用集合?
首先集合的特点决定了它简单,高效,速度快。基本用途包括成员测试和消除重复的条目。集合对象还支持数学运算,如并集、交集、差集和对等差分。
两大场景:
- 去重:列表去重
- 关系测试:取交集、取并集、取差集
注意:无法使用索引访问集合中的元素。同时集合在迭代时,集合的表现优于列表。
参考链接:https://www.imooc.com/article/80236
参考链接:Python中集合set和字典dict的用法区别_python创建set变量和dict区别-CSDN博客