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

Python的集合set用法介绍与例子

用法简介

Python的集合(set)是一种无序且不重复的元素序列。它类似于列表和元组,但集合中的元素是唯一的,没有重复的值。集合在Python中用于执行一些特定的操作,例如消除重复元素、检查元素是否存在等。

下面是一些关于Python集合的基本用法:

创建集合:

使用大括号 {} 创建集合,例如:s = {1, 2, 3}
使用 set() 函数创建集合,例如:s = set([1, 2, 3])
添加元素:

使用 add() 方法向集合中添加一个元素,例如:s.add(4)
使用 update() 方法向集合中添加多个元素,例如:s.update([5, 6])
删除元素:

使用 remove() 方法从集合中删除一个元素,例如:s.remove(3)
使用discard()方法从集合中删除一个元素,例如:s.discard(2)
使用 clear() 方法清空整个集合,例如:s.clear()
集合运算:

使用 & 运算符进行集合交集运算,例如:s1 = {1, 2, 3},s2 = {2, 3, 4},result = s1 & s2
使用 | 运算符进行集合并集运算,例如:s1 = {1, 2, 3},s2 = {2, 3, 4},result = s1 | s2
使用 - 运算符进行集合差集运算,例如:s1 = {1, 2, 3},s2 = {2, 3, 4},result = s1 - s2
检查元素是否在集合中:

使用 in 关键字检查一个元素是否存在于集合中,例如:element in s
使用 not in 关键字检查一个元素是否不存在于集合中,例如:element not in s
遍历集合中的元素:

使用 for 循环遍历集合中的元素,例如:for element in s:
集合的长度:

使用 len() 函数获取集合的长度,例如:length = len(s)
将集合转换为列表或元组:

使用 list() 或 tuple() 函数将集合转换为列表或元组,例如:list_representation = list(s) 或 tuple_representation = tuple(s)。

举个例子:

# 创建两个集合  
s = {1, 2, 3}  
t = set([4, 5, 6])  # 添加元素到集合 s  
s.add(7)  
t.update([8, 9])  # 从集合 s 中删除元素 2  
s.remove(2)  # 清空集合 s  
s.clear()  # 集合运算  
s1 = {1, 2, 3}  
s2 = {3, 4, 5}  
result_intersection = s1 & s2  # 交集运算  
result_union = s1 | s2  # 并集运算  
result_difference = s1 - s2  # 差集运算  # 检查元素是否在集合中  
element = 2  
if element in s1:  print("元素在集合中")  
else:  print("元素不在集合中")  # 输出 "元素在集合中"  # 遍历集合中的元素  
for element in s1:  print(element)  # 输出 1、2 和 3  # 获取集合的长度  
length = len(s1)  # 结果为 3,因为集合中有三个元素  # 将集合转换为列表和元组  
list_representation = list(s1)  # 结果为 [1, 2, 3]  
tuple_representation = tuple(s1)  # 结果为 (1, 2, 3)

相关文章:

  • 第9章 正则表达式
  • 【加强版】小学数学出题,加减乘除混合运算,支持自定义数字,一键打印
  • apache、nginx、php 隐藏版本号
  • spring ioc容器
  • 使用 Elasticsearch 和 LlamaIndex 进行高级文本检索:句子窗口检索
  • SpringBoot:详解依赖注入和使用配置文件
  • 《Python 3 基础》- numpy的array,python的list、tuple的区别与联系再辨析
  • 【C++ 程序设计入门基础】- 第4节-函数
  • 分布式搜索引擎--认识
  • 【设计模式】01-前言
  • Spring集成
  • 【镜像制作】OS云主机镜像的制作——以H3C为例
  • SAP 中销售订单占用库存和交货单占用库存取值
  • PaddleSeg的训练与测试推理全流程(超级详细)
  • PHP项目如何自动化测试
  • 《网管员必读——网络组建》(第2版)电子课件下载
  • Akka系列(七):Actor持久化之Akka persistence
  • Docker入门(二) - Dockerfile
  • iOS高仿微信项目、阴影圆角渐变色效果、卡片动画、波浪动画、路由框架等源码...
  • IOS评论框不贴底(ios12新bug)
  • Javascript编码规范
  • javascript从右向左截取指定位数字符的3种方法
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • MYSQL 的 IF 函数
  • php面试题 汇集2
  • React组件设计模式(一)
  • 百度小程序遇到的问题
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 面试总结JavaScript篇
  • 一起来学SpringBoot | 第十篇:使用Spring Cache集成Redis
  • 这几个编码小技巧将令你 PHP 代码更加简洁
  • linux 淘宝开源监控工具tsar
  • ​​​​​​​sokit v1.3抓手机应用socket数据包: Socket是传输控制层协议,WebSocket是应用层协议。
  • # 透过事物看本质的能力怎么培养?
  • #NOIP 2014# day.2 T2 寻找道路
  • $(document).ready(function(){}), $().ready(function(){})和$(function(){})三者区别
  • $(function(){})与(function($){....})(jQuery)的区别
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (Repost) Getting Genode with TrustZone on the i.MX
  • (带教程)商业版SEO关键词按天计费系统:关键词排名优化、代理服务、手机自适应及搭建教程
  • (二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布
  • (蓝桥杯每日一题)平方末尾及补充(常用的字符串函数功能)
  • (求助)用傲游上csdn博客时标签栏和网址栏一直显示袁萌 的头像
  • (四)docker:为mysql和java jar运行环境创建同一网络,容器互联
  • (转)GCC在C语言中内嵌汇编 asm __volatile__
  • (转)jdk与jre的区别
  • (转)mysql使用Navicat 导出和导入数据库
  • (转)nsfocus-绿盟科技笔试题目
  • (转)Oracle 9i 数据库设计指引全集(1)
  • (转)大道至简,职场上做人做事做管理
  • (轉貼)《OOD启思录》:61条面向对象设计的经验原则 (OO)
  • *p++,*(p++),*++p,(*p)++区别?
  • .equal()和==的区别 怎样判断字符串为空问题: Illegal invoke-super to void nio.file.AccessDeniedException
  • .NET 材料检测系统崩溃分析
  • .NET/C# 推荐一个我设计的缓存类型(适合缓存反射等耗性能的操作,附用法)