集合是一个无需不重复的序列,用 set 来表示
零、创建集合
创建集合的方式有两种,分别是 {} 和 set(),下面我们来具体讲解一下。
- {} 形式 {} 形式用来创建一个 非空集合,语法如下:
set={v1,v2,v3,...,vn}
下面我们通过例子来看一下具体怎么使用
代码语言:javascript复制# 例子一、定义一个包含字符串的集合
name={'张三','李四','王五','赵六','田七'}
# 例子二、定义一个包含多种类型的集合
person={'张三',24,63.5}
- set() 形式 set() 用来创建空集合或者包含数据的集合,语法如下:
set=set(value)
下面我们通过例子来看一下:
代码语言:javascript复制# 例子一、定义一个空集合
name=set()
# 例子二、定义一个非空的集合
abc=set('abcdefghijklmnopqrstuvwxyz')
注意1:在定义空集合时,不能使用 {} 来创建,因为 {} 是用来创建空字典的,如果要创建空集合必须使用 set()
注意2:{} 方式创建集合的方式与创建字典类似,它们的区别是字典的元素是 key:value 形式,而集合则是使用 value 形式。
一、获取集合元素
由于集合是无序的,所以索引没有任何意义,所以我们无法利用索引获取和更新元素,但是我们可通过循环的方式获取元素,代码如下:
代码语言:javascript复制# 定义姓名集合
names={'张三','李四','王五'}
# 循环输出集合内容
for name in names:
print(name)
二、添加、删除集合元素
- 添加 添加元素我们可以使用 add 方法,语法如下:
set.add(value)
我们通过例子来看一下怎么使用:
代码语言:javascript复制# 定义姓名集合
names={'张三','李四','王五'}
# 添加一个新姓名赵六
names.add('赵六')
# 打印names,会发现集合中增加了赵六
print(names)
- 删除 删除集合元素我们会使用 remove 方法,语法如下:
set.remove(要删除的元素)
我们通过例子来看一下具体用法:
代码语言:javascript复制# 定义姓名集合
names={'张三','李四','王五'}
# 删除李四
names.remove('李四')
# 打印names,会发现集合中李四消失了
print(names)
三、集合其他操作
函数 | 说明 |
---|---|
copy() | 拷贝一个集合 |
difference() | 返回多个集合的差集 |
difference_update() | 移除集合中的元素,该元素在指定的集合也存在 |
discard() | 删除集合中指定的元素 |
intersection() | 返回集合的交集 |
intersection_update() | 删除集合中的元素,该元素在指定的集合中不存在 |
isdisjoint() | 判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False |
issubset() | 判断指定集合是否为该方法参数集合的子集 |
issuperset() | 判断该方法的参数集合是否为指定集合的子集 |
pop() | 随机移除元素 |
symmetric_difference() | 返回两个集合中不重复的元素集合 |
symmetric_difference_update() | 移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中 |
union() | 返回两个集合的并集 |
update() | 给集合添加元素 |
四、小结
本节主要讲解了集合的操作,集合是一个比较特殊的序列,集合用的比较少,在这个教程中只需要了解即可。在后面我会通过杂文的形式具体讲解集合。