第三章--第五节:集合

2020-09-08 16:10:19 浏览数 (1)

集合是一个无需不重复的序列,用 set 来表示

零、创建集合

创建集合的方式有两种,分别是 {}set(),下面我们来具体讲解一下。

  1. {} 形式 {} 形式用来创建一个 非空集合,语法如下:
代码语言:javascript复制
set={v1,v2,v3,...,vn}

下面我们通过例子来看一下具体怎么使用

代码语言:javascript复制
# 例子一、定义一个包含字符串的集合
name={'张三','李四','王五','赵六','田七'}

# 例子二、定义一个包含多种类型的集合
person={'张三',24,63.5}
  1. set() 形式 set() 用来创建空集合或者包含数据的集合,语法如下:
代码语言:javascript复制
set=set(value)

下面我们通过例子来看一下:

代码语言:javascript复制
# 例子一、定义一个空集合
name=set()

# 例子二、定义一个非空的集合
abc=set('abcdefghijklmnopqrstuvwxyz')

注意1:在定义空集合时,不能使用 {} 来创建,因为 {} 是用来创建空字典的,如果要创建空集合必须使用 set()

注意2:{} 方式创建集合的方式与创建字典类似,它们的区别是字典的元素是 key:value 形式,而集合则是使用 value 形式。

一、获取集合元素

由于集合是无序的,所以索引没有任何意义,所以我们无法利用索引获取和更新元素,但是我们可通过循环的方式获取元素,代码如下:

代码语言:javascript复制
# 定义姓名集合
names={'张三','李四','王五'}
# 循环输出集合内容
for name in names:
  print(name)
二、添加、删除集合元素
  1. 添加 添加元素我们可以使用 add 方法,语法如下:
代码语言:javascript复制
set.add(value)

我们通过例子来看一下怎么使用:

代码语言:javascript复制
# 定义姓名集合
names={'张三','李四','王五'}
# 添加一个新姓名赵六
names.add('赵六')
# 打印names,会发现集合中增加了赵六
print(names)
  1. 删除 删除集合元素我们会使用 remove 方法,语法如下:
代码语言:javascript复制
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()

给集合添加元素

四、小结

本节主要讲解了集合的操作,集合是一个比较特殊的序列,集合用的比较少,在这个教程中只需要了解即可。在后面我会通过杂文的形式具体讲解集合。

0 人点赞