一、集合特点
在之前 的博客中 介绍了 列表 / 元组 / 字符串 数据容器 ,
- 列表 支持 定义后 , 增加元素 / 修改元素 / 删除元素 , 并且 列表中可以存储 重复 / 有序 的元素 ;
- 元组 定义后 不能 进行 增加元素 / 修改元素 / 删除元素 操作 , 元组 也支持 重复 / 有序 的元素 ;
列表 和 元组 都是 重复有序的 数据容器 , 如果 想要 数据容器中 存储的都是 不可重复的 数据容器 , 就无法使用这两个数据容器 ;
本篇博客介绍一种新的 自带去重功能 数据容器 : " 集合 " , 集合 数据容器 中的元素 不能重复 ;
二、集合定义
集合 使用 大括号 {}
进行定义 ;
- 定义 集合 数据容器 字面量 ; 如果其中有重复元素 , 会自动删除前面的重复元素 , 保留最后一个元素 ;
{元素1, 元素2, 元素3}
- 定义 集合 数据容器 变量 ; 如果其中有重复元素 , 会自动删除前面的重复元素 , 保留最后一个元素 ;
集合变量 = {元素1, 元素2, 元素3}
- 定义 空集合 数据容器 ;
集合变量 = set()
注意 : 如果集合中有重复的元素 , 会保留后面的元素 , 前面的元素会被自动删除 ;
回顾下集中数据容器的定义方式 :
- 列表 : 使用 中括号
[]
定义 ; - 元组 : 使用 小括号
()
定义 ; - 字符串 : 使用 双引号
""
定义 ; - 集合 : 使用 大括号
{}
定义 ;
三、代码示例 - 集合定义
在下面的集合中 , 分别定义了 集合字面量 / 集合变量 / 空集合 ;
其中定义集合变量时 , 定义了两个重复元素 ‘Tom’ 字符串 ,
代码语言:javascript复制{"Tom", "Jerry", "Jack", "Tom"}
由于 集合 数据容器中的元素 不能重复 , 在集合中 , 这两个 Tom 字符串需要删除一个 , 这里将第一个 Tom 字符串被删除 , 保留第二个 Tom 字符串 ;
代码示例 :
代码语言:javascript复制"""
集合 代码示例
"""
# 定义集合字面量
{"Tom", "Jerry", "Jack"}
# 定义集合变量
names = {"Tom", "Jerry", "Jack", "Tom"}
# 上述集合中有两个 Tom 字符串, 由于 集合 不能重复, 第一个 Tom 字符串被删除
print(f"names = {names}, type = {type(names)}")
# 输出: names = {'Jack', 'Jerry', 'Tom'}, type = <class 'set'>
# 定义空集合
empty = set()
print(f"empty = {empty}, type = {type(empty)}")
# 输出: empty = set(), type = <class 'set'>
执行结果 :
代码语言:javascript复制names = {'Tom', 'Jerry', 'Jack'}, type = <class 'set'>
empty = set(), type = <class 'set'>