当前位置: 首页 > news >正文

Python基础(十四、数据容器之集合Set)

文章目录

  • 一、集合语法
  • 二、集合的基本操作
    • 添加元素
    • 删除元素
    • 随机删除元素,可获得删除的值
    • 清空
    • 取出2个集合的差集
    • 消除2个集合的差集
    • 合并2个集合
    • 集合元素个数
    • 查询元素是否存在
  • 遍历集合
    • 集合的遍历

什么是数据容器?
数据容器是Python中用于存储和操作数据的对象。它们可以容纳不同类型的数据,如数字、字符串、列表、字典等,并提供了各种方法来访问和操作这些数据。

有哪些数据容器?
Python提供了几种常见的数据容器,包括列表(List)、元组(Tuple)、字典(Dictionary)和集合(Set)。他们都能满足容纳多个元素的特点。
每种容器都有其独特的特点和用途,我们将逐一探索它们。

集合(Set)
集合是一个无序且唯一的数据容器,用于存储不重复的元素。它提供了高效的成员检查操作。例如,我们可以创建一个名为colors的集合来存储颜色:colors = {‘red’, ‘green’, ‘blue’}。

一、集合语法

在Python中,我们可以使用大括号 {} 或者 set() 函数来创建一个集合。
例如:

my_set = {1, 2, 3, 4, 5}

或者

my_set = set([1, 2, 3, 4, 5])

需要注意的是,如果要创建一个空集合,必须使用 set() 而不是 {},因为 {} 创建的是一个空字典。

与其他数据结构类似,我们可以使用索引来访问集合中的元素。但是需要注意的是,由于集合是无序的,所以不能保证元素在集合中的位置。因此,通常我们使用集合的成员运算符 in 来判断元素是否存在于集合中。例如:

my_set = {1, 2, 3, 4, 5}
print(3 in my_set)  # 输出:True

二、集合的基本操作

添加元素

向集合中添加元素非常简单,我们可以使用 add() 方法来添加单个元素,使用 update() 方法来添加多个元素。例如:

my_set = {1, 2, 3, 4, 5}
my_set.add(6)
print(my_set)  # 输出:{1, 2, 3, 4, 5, 6}my_set.update([7, 8, 9])
print(my_set)  # 输出:{1, 2, 3, 4, 5, 6, 7, 8, 9}

删除元素

从集合中删除元素同样很容易,我们可以使用 remove() 或者 discard() 方法来删除指定的元素。需要注意的是,remove() 方法在删除不存在的元素时会抛出异常,而 discard() 方法不会。例如:

my_set = {1, 2, 3, 4, 5}
my_set.remove(3)
print(my_set)  # 输出:{1, 2, 4, 5}my_set.discard(4)
print(my_set)  # 输出:{1, 2, 5}

随机删除元素,可获得删除的值

除了删除指定元素,我们还可以使用 pop() 方法随机删除并返回集合中的一个元素。例如:

my_set = {1, 2, 3, 4, 5}
removed_element = my_set.pop()
print(my_set)           # 输出:{2, 3, 4, 5}
print(removed_element)  # 输出:1

清空

使用clear()方法可以清空集合。例如:

my_set = {1, 2, 3, 4, 5}
my_set.clear()
print(my_set) # 输出:set()

取出2个集合的差集

集合1.difference(集合2)可取出两个集合的差集,集合1有而集合2没有。例如:

my_set = {1, 2, 3, 4, 5}
my_set2 = {1, 2, 5}
print(my_set.difference(my_set2)) # 输出:{3, 4}

消除2个集合的差集

集合1.difference_update(集合2),比对两个集合,删除与集合2相同的元素,集合2不变。例如:

my_set = {1, 2, 3, 4, 5}
my_set2 = {1, 2, 5}
my_set.difference_update(my_set2)
print(my_set) # 输出:{3, 4}
print(my_set2) # 输出:{1, 2, 5}

合并2个集合

集合1.union(集合2),合并成新集合,集合1和集合2不变。例如:

my_set = {1, 2, 3, 4, 5}
my_set2 = {1, 2, 5, 6}
my_set3 = my_set.union(my_set2)
print(my_set) # 输出:{1, 2, 3, 4, 5}
print(my_set2) # 输出:{1, 2, 5, 6}
print(my_set3) # 输出:{1, 2, 3, 4, 5, 6}

集合元素个数

len(集合),获取集合内的元素个数。例如:

my_set = {1, 2, 3, 4, 5}
print(len(my_set)) # 输出:5

查询元素是否存在

要查询集合中是否存在某个元素,我们可以使用成员运算符 in。例如:

my_set = {1, 2, 3, 4, 5}
print(3 in my_set)  # 输出:True
print(6 in my_set)  # 输出:False

遍历集合

遍历集合的方法和遍历列表类似,我们可以使用 for 循环来迭代集合中的每个元素。例如:

my_set = {1, 2, 3, 4, 5}
for item in my_set:print(item)

上述代码将依次打印出集合中的每个元素。

集合的遍历

下面是一些示例,演示了集合的各种操作:

my_set = {1, 2, 3, 4, 5}# 添加元素
my_set.add(6)
print(my_set)  # 输出:{1, 2, 3, 4, 5, 6}my_set.update([7, 8, 9])
print(my_set)  # 输出:{1, 2, 3, 4, 5, 6, 7, 8, 9}# 删除元素
my_set.remove(3)
print(my_set)  # 输出:{1, 2, 4, 5, 6, 7, 8, 9}my_set.discard(4)
print(my_set)  # 输出:{1, 2, 5, 6, 7, 8, 9}# 查询元素
print(3 in my_set)  # 输出:False
print(6 in my_set)  # 输出:True# 遍历集合
for item in my_set:print(item)

通过这些例子,你可以更好地理解集合的创建、修改、添加、删除、查询和遍历等基本操作。集合是Python中强大且常用的数据结构,它可以帮助我们高效地管理和操作不重复的元素。无论是去除重复项还是进行集合运算,集合都提供了很多方便的方法和操作符。

http://www.lryc.cn/news/272105.html

相关文章:

  • OpenHarmony之HDF驱动框架
  • 深入浅出理解TensorFlow的padding填充算法
  • TDD-LTE 附着流程和去附着流程
  • [Angular] 笔记 23:Renderer2 - ElementRef 的生产版本
  • WEB:探索开源OFD.js技术应用
  • 平方根,又叫二次方根,表示为〔√ ̄〕
  • Springer Latex正文参考文献样式改为数字
  • 六、typescript泛型使用
  • 【快慢指针】26.删除有序数组中的重复项
  • 爬虫工作量由小到大的思维转变---<第三十一章 Scrapy Redis 初启动/conn说明书)>
  • 2023年山东省职业院校技能大赛高职组“软件测试”赛项-单元测试报告答案
  • Matlab论文插图绘制模板第133期—函数极坐标折线图
  • 如何用 GPT 去分析Excel数据
  • 力扣labuladong一刷day51天单调栈应用
  • 单片机相关知识点
  • 009:vue结合el-table实现表格行拖拽排序(基于sortablejs)
  • C语言KR圣经笔记 5.3指针和数组 5.4地址运算
  • 设计模式:简单工厂模式、工厂方法模式、抽象工厂模式
  • Could not load library libcudnn_cnn_infer.so.8
  • ELement UI时间控件el-date-picker误差8小时解决办法
  • Linux日志论转
  • 第7课 利用FFmpeg将摄像头画面与麦克风数据合成后推送到rtmp服务器
  • Microsoft Visual Studio 2022 install Project 下载慢
  • uniapp---安卓真机调试提示检测不到手机【解决办法】
  • Nginx(十四) 配置文件详解 - 负载均衡(超详细)
  • 大数据应用安全策略包括什么
  • Ubuntu软件和vmware下载
  • 如何修改Anaconda的Jupyter notebook的默认启动路径
  • 密码学:带密钥的消息摘要算法一数字签名算法
  • JVM中部分主要垃圾回收器的特点、使用的算法以及适用场景