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

集合的定义和特点

定义

集合(set)是 Python 中的一种内置数据类型。它是一个无序、无重复元素的集合。集合常用于去重、成员测试以及数学上的集合运算(如交集、并集、差集等)。

特点
  1. 无序性:集合中的元素没有特定的顺序。
  2. 唯一性:集合中不允许存在重复元素。
  3. 可变性:集合本身是可变的,但集合中的元素必须是不可变的(如字符串、数字和元组)。

集合可以通过花括号 {}set() 函数来创建。例如:

set1 = {1, 2, 3, 4}
set2 = set([3, 4, 5, 6])

集合相关操作

1. 添加元素

add(element): 向集合中添加一个元素。如果该元素已存在,则不会有任何变化。

set1 = {1, 2, 3}
set1.add(4)
print(set1)  # 输出: {1, 2, 3, 4}

update([elements]): 用于将多个元素添加到集合中。参数可以是列表、元组、字符串等可迭代对象。

set1.update([5, 6])
print(set1)  # 输出: {1, 2, 3, 4, 5, 6}
2.删除元素

remove(element): 从集合中删除指定元素。如果元素不存在,会引发 KeyError 错误。

set1.remove(2)
print(set1)  # 输出: {1, 3, 4, 5, 6}

discard(element): 从集合中删除指定元素。如果元素不存在,不会引发错误。

set1.discard(3)
print(set1)  # 输出: {1, 4, 5, 6}

pop(): 随机移除集合中的一个元素,并返回该元素。如果集合为空,会引发 KeyError 错误。

removed_element = set1.pop()
print("弹出元素:", removed_element)
print(set1)  # 输出: 弹出一个元素后的集合
3.交集

&: 返回两个集合的交集,即同时存在于两个集合中的元素。

set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}
intersection = set1 & set2
print(intersection)  # 输出: {3, 4}
4.并集

|: 返回两个集合的并集,即存在于两个集合中的所有元素。

union = set1 | set2
print(union)  # 输出: {1, 2, 3, 4, 5, 6}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • springboot个人证书管理系统-计算机毕业设计源码16679
  • <数据集>夜间车辆识别数据集<目标检测>
  • 设计模式-概述*
  • 记录些MySQL题集(9)
  • 深入解析PHP框架:Symfony框架详解与应用
  • 使用MovaXterm连接VMware的centos
  • 数据库管理-第221期 Oracle的高可用-04(20240717)
  • OpenCV下的单目标定,双目标定与立体校正(calibrateCamera, stereoCalibrate and stereoRectify)
  • Linux网络编程-socket套接字使用详解
  • 简约唯美的404HTML源码
  • 什么是边缘计算技术和边缘计算平台?
  • 怎么防止文件被恶意外传
  • .Net--CLS,CTS,CLI,BCL,FCL
  • 【Linux】软件管理工具 yum
  • 在 vite+vue3+electron 中使用 express
  • [iOS]Core Data浅析一 -- 启用Core Data
  • [Vue CLI 3] 配置解析之 css.extract
  • 0x05 Python数据分析,Anaconda八斩刀
  • Linux中的硬链接与软链接
  • Magento 1.x 中文订单打印乱码
  • Netty 框架总结「ChannelHandler 及 EventLoop」
  • PHP的类修饰符与访问修饰符
  • Redis在Web项目中的应用与实践
  • Vue2.0 实现互斥
  • WePY 在小程序性能调优上做出的探究
  • 创建一种深思熟虑的文化
  • 和 || 运算
  • 前言-如何学习区块链
  • 设计模式(12)迭代器模式(讲解+应用)
  • 什么软件可以提取视频中的音频制作成手机铃声
  • 算法之不定期更新(一)(2018-04-12)
  • 一、python与pycharm的安装
  • 分布式关系型数据库服务 DRDS 支持显示的 Prepare 及逻辑库锁功能等多项能力 ...
  • 说说我为什么看好Spring Cloud Alibaba
  • #控制台大学课堂点名问题_课堂随机点名
  • (1)常见O(n^2)排序算法解析
  • (4)logging(日志模块)
  • (二开)Flink 修改源码拓展 SQL 语法
  • (附源码)计算机毕业设计SSM疫情下的学生出入管理系统
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (排序详解之 堆排序)
  • (一)Java算法:二分查找
  • (轉貼) 資訊相關科系畢業的學生,未來會是什麼樣子?(Misc)
  • .gitignore文件—git忽略文件
  • .NET Core引入性能分析引导优化
  • .Net Framework 4.x 程序到底运行在哪个 CLR 版本之上
  • .NET Framework 的 bug?try-catch-when 中如果 when 语句抛出异常,程序将彻底崩溃
  • .Net Redis的秒杀Dome和异步执行
  • .net redis定时_一场由fork引发的超时,让我们重新探讨了Redis的抖动问题
  • .NET设计模式(11):组合模式(Composite Pattern)
  • .NET下ASPX编程的几个小问题
  • .w文件怎么转成html文件,使用pandoc进行Word与Markdown文件转化
  • /etc/apt/sources.list 和 /etc/apt/sources.list.d
  • ??在JSP中,java和JavaScript如何交互?
  • @ModelAttribute 注解