Python set 集合

Python 集合

集合(set)是一个无序的不重复元素序列。

集合中的元素不会重复,并且可以进行交集、并集、差集等常见的集合操作。

可以使用大括号 { } 创建集合,元素之间用逗号 , 分隔, 或者也可以使用 set() 函数创建集合。

set 集合创建格式如下

parame = {value01,value02,...}
或者
set(value)

示例如下

set1 = {1, 2, 3, 4}            # 直接使用大括号创建集合
set2 = set([4, 5, 6, 7])      # 使用 set() 函数从列表创建集合

tips:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
更多示例代码如下

basket = {'张三', '李四', '王五', '张三', '张三', '李四'}
print(basket) # 这里演示的是去重功能print('张三' in basket )    # 判断元素是否在集合内
print('crabgrass' in basket)  # 判断元素是否在集合内# 下面展示两个集合间的运算.a = set('abracadabra')
b = set('alacazam')
print(a - b)    # 集合a中包含而集合b中不包含的元素
print(a | b)    # 集合a或b中包含的所有元素
print(a & b)    # 集合a和b中都包含了的元素
print(a ^ b)    # 不同时包含于a和b的元素

输出如下
在这里插入图片描述

集合的基本操作

添加元素

语法格式如下:

s.add( x )

将元素 x 添加到集合 s 中,如果元素已存在,则不进行任何操作。

示例代码如下

thisset = set(("张三", "李四", "王五"))
thisset.add("赵六")
thisset.add("张三")
print(thisset)

输出如下
在这里插入图片描述
还有一个方法,也可以添加元素,且参数可以是列表,元组,字典等,语法格式如下:

s.update( x )

并且x 可以有多个,用逗号分开
示例代码如下

thisset = set(("张三", "李四", "王五"))
thisset.update({"张三","赵六"})
print(thisset)
thisset.update(["王二麻子","韭菜腰子"],["灰太狼","张三"]) 
print(thisset)

输出如下
在这里插入图片描述

移除元素

语法格式如下:

s.remove( x )

意思是将元素 x 从集合 s 中移除,如果元素不存在,则会发生错误。

示例代码如下

thisset = set(("张三", "李四", "王五"))
thisset.remove("张三")
print(thisset)thisset.remove("法外狂徒")  # 删除不存在的会发生错误

输出如下
在这里插入图片描述
此外还有一个方法也是移除集合中的元素,且如果元素不存在,不会发生错误。那就是使用discard函数
示例代码如下

thisset = set(("张三", "李四", "王五"))
thisset.discard("张三")
thisset.discard("法外狂徒") # 不存在不会发生错误
print(thisset)

输出如下

在这里插入图片描述
当然还有最有趣的随机删除一个元素的pop方法(讲真,有必要弄个这种方法吗)
示例代码如下

thisset = set(("张三", "李四", "王五", "赵六"))
x = thisset.pop()print(x)

输出如下,
在这里插入图片描述
可以看出,真是随机删除
这是因为set 集合的 pop 方法会对集合进行无序的排列,然后将这个无序排列集合的左面第一个元素进行删除。

计算集合元素个数

语法格式如下:

len(s)  # 和字典列表计算长度一样

示例代码如下

thisset = set(("张三", "李四", "王五", "赵六"))print(len(thisset))

输出如下
在这里插入图片描述

清空集合

清空集合也是使用内置函数clear
格式如下

s.clear()

示例代码如下

thisset = set(("张三", "李四", "王五", "赵六"))print(thisset.clear())

输出如下

在这里插入图片描述

判断元素是否在集合中存在

也是和列表元组语法一样使用in
格式如下

x in s

示例代码如下

thisset = set(("张三", "李四", "王五", "赵六"))print("张三" in thisset)

输出如下

在这里插入图片描述

python set 的所有内置方法

方法描述
add()为集合添加元素
clear()移除集合中的所有元素
copy()拷贝一个集合
difference()返回多个集合的差集
difference_update()移除集合中的元素,该元素在指定的集合也存在。
discard()删除集合中指定的元素
intersection()返回集合的交集
intersection_update()返回集合的交集。
isdisjoint()判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。
issubset()判断指定集合是否为该方法参数集合的子集。
issuperset()判断该方法的参数集合是否为指定集合的子集
pop()随机移除元素
remove()移除指定元素
symmetric_difference()返回两个集合中不重复的元素集合。
symmetric_difference_update()移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。
union()返回两个集合的并集
update()给集合添加元素
len()计算集合元素个数

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/498821.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

width:100%和width:auto有啥区别

项目中使用了with属性,突然好奇auto 和 100% 的区别,特地搜索实践总结了一下观点 一、 width属性介绍二、 代码带入三、 分析比较四、 总结 一、 width属性介绍 width 属性用于设置元素的宽度。width 默认设置内容区域的宽度,但如果 box-siz…

皇冠测评:网络电视盒子哪个品牌好?电视盒子排行榜

欢迎各位来到我们的测评频道,本期我们要分享的产品是电视盒子,因很多网友留言不知道网络电视盒子哪个品牌好,我们通过为期一个月的测评后整理了电视盒子排行榜,想买电视盒子的可以看看下面这五款产品,它们各方面表现非…

(每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理第12章 项目质量管理(三)

博主2023年11月通过了信息系统项目管理的考试,考试过程中发现考试的内容全部是教材中的内容,非常符合我学习的思路,因此博主想通过该平台把自己学习过程中的经验和教材博主认为重要的知识点分享给大家,希望更多的人能够通过考试&a…

污水处理设备远程监控:HiWoo Cloud如何打造智慧环保新时代

随着工业化和城市化的快速推进,污水处理成为了保护环境、维护生态平衡的重要一环。传统的污水处理设备管理方式往往依赖于人工巡检和现场控制,不仅效率低下,而且难以实时掌握设备的运行状况。在这个背景下,HiWoo Cloud平台推出了污…

Matlab: Introduction to Hybrid Beamforming

文章目录 来源混合波束赋形的基本概念System Setup关键函数 来源 在matlab的命令行输入 doc hybrid beamforming 混合波束赋形的基本概念 混合波束形成简介 本例介绍了混合波束形成的基本概念,并说明了如何模拟这种系统。 现代无线通信系统使用空间复用来提高散…

模拟算法题练习(一)

模拟算法介绍: 模拟算法通过模拟实际情况来解决问题,一般容易理解但是实现起来比较复杂,有很多需要注意的细节,或者是一些所谓很“麻模“的东西。 模拟题一般不涉及太难的算法,一般就是由较多的简单但是不好处理的部…

如何开发自己的npm包并上传到npm官网可以下载

目录 搭建文件结构 开始编写 发布到npm 如何下载我们发布的npm包 搭建文件结构 先创建新文件夹,按照下面的样子布局 .├── README.md //说明文档 ├── index.js //主入口 ├── lib //功能文件 └── tests //测试用例 然后再此根目录下初始化package包 npm init…

蓝桥杯题练习:平地起高楼

题目要求 function convertToTree(regions, rootId "0") {// TODO: 在这里写入具体的实现逻辑// 将平铺的结构转化为树状结构,并将 rootId 下的所有子节点数组返回// 如果不存在 rootId 下的子节点,则返回一个空数组}module.exports convert…

西门子WinCC冗余项目使用

1 如果需要使用WinCC冗余系统时,请仔细阅读下面的文档,它将解决以下几个问题: (1)WinCC冗余有什么样的功能? (2)需要购买什么样的授权? (3)应…

高项软考电子版论文答题纸(附下载)

24年软考又要来了,作为高项软考的拦路虎,论文你准备好了吗?!记住在开始考试之前一定要用论文答题纸上把准备好的论文,在规定的时间内写上几遍,一是现在很少动笔写字了。二是、熟悉一下论文考试的感觉。 准备…

Unity3d Mesh篇(三)— 创建立方体

文章目录 前言一、Mesh组成二、使用步骤GetVertices方法GetTriangles方法OnDrawGizmos方法 三、效果四、总结 前言 在 Unity 中,创建立方体是学习和理解网格(Mesh)基础知识的重要一步。本篇教程将介绍如何使用 C# 脚本在 Unity 中创建一个简…

开启你的闲鱼探索之旅!利用商品详情关键词API,找到独一无二的宝藏商品

闲鱼是中国最大二手交易平台之一,拥有数亿用户。每天都有大量的宝贝被上架,有些宝贝非常独特,只有一两个被发布。如何找到这些独一无二的宝藏商品呢?幸运的是,我们可以利用联讯数据商品详情关键词API来实现这个目标。 …