写点什么

软件测试|一文弄懂 Python 集合相关操作

  • 2023-11-01
    北京
  • 本文字数:1896 字

    阅读完需:约 6 分钟

前言

集合是 Python 的基本数据类型,是我们工作中经常会用到的数据类型,Python 有一系列关于集合的操作,作为一个 Pythoner,我们必须要掌握这些操作。

集合的介绍

集合是 Python 的基本数据类型之一,它具有以下几个特点:


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

  • 常用来对两个列表进行交并差的处理性

  • 集合与列表一样,支持所有数据类型


集合与列表的区别


集合内的相关操作

  1. 创建集合通过 set 函数来创建集合


a_set = set()print(a_set)print(type(a_set))----------------------输出结果如下:set()<class 'set'>
复制代码


注:不能通过 set = {}来创建空集合,这样创建的实际上为字典,如下


set = {}print(type(set))-----------------输出结果如下:<class 'dict'>
复制代码


  1. 集合增加元素-add()用于集合中添加一个元素,如果集合中已存在该元素则该函数不执行用法:set.add(item)参数 item:要添加到集合中的元素


set1 = set()set1.add('theshy')print(set1)-----------------输出结果如下:{'theshy'}
复制代码


  1. update 操作加入一个新的集合(或列表,元组,字符串),如新集合内的元素在原集合中存在则无视用法:set.update(iterable)参数 iterable:集合,列表元组字符串


set1 = set()set1.update([1, 2, 3, 4, 5])print(set1)---------------------------输出结果如下:{1, 2, 3, 4, 5}
复制代码


  1. remove 操作将集合中的某个元素删除,如元素不存在将会报错用法 set.remove(item) #注意是元素不是索引参数:item:当前集合中的一个元素


set1 = {'theshy', 'rookie', 'jackeylove', 'ning', 'baolan'}set1.remove('baolan')print(set1)-----------------输出结果如下:{'rookie', 'jackeylove', 'theshy', 'ning'}
复制代码


  1. clear 操作清空当前集合中的所有元素用法 set.clear()参数无


set1 = {'theshy', 'rookie', 'jackeylove', 'ning', 'baolan'}set1.clear()print(set1)------------------------输出结果如下:set()
复制代码


  1. discard 操作如果 x 在集合中,移除该元素;如果 x 不存在不报错注意:


  • 集合无法通过索引获取元素

  • 集合无获取元素的任何方法

  • 集合只是用来处理列表或元组的一种临时类型,他不适合存储与传输


set1 = {'theshy', 'rookie', 'jackeylove', 'ning', 'baolan'}set1.discard('ning')print(set1)-----------------输出结果如下:{'rookie', 'jackeylove', 'baolan', 'theshy'}
复制代码

集合间的操作

  1. 集合的差集—difference 函数 a,b 两个集合,由所有属于 a 且不属于 b 的元素组成的集合叫做 a 与 b 的差集 difference 返回集合的差集,即返回的集合元素包含在第个集合中,但不包含在第二个集合(方法的参数)中用法 a_set.difference(b_set)参数:b_set:当前集合需要对比的集返回值返回原始集合于对比集合的差集


set1 = {'theshy', 'rookie', 'jackeylove', 'ning', 'baolan'}set2 = {'ning', 'baolan'}set3 = set1.difference(set2)print(set3)-----------------------------------------------------输出结果如下:{'theshy', 'rookie', 'jackeylove'}
复制代码


  1. 集合的交集—intersection 函数 a,b 两个集合分别拥有的相同的元素集,称为 a 与 b 的交集用法 a_set.intersection(b_set)参数 b_set:与当前集合对比的 1 或多个集合返回值:返回原始集合与对比集合的交集


set1 = {'theshy', 'rookie', 'jackeylove', 'ning', 'baolan'}set2 = {'ning', 'baolan'}set3 = set1.intersection(set2)print(set3)----------------------输出结果如下:{'ning', 'baolan'}
复制代码


  1. 集合的并集-union 函数


  • a,b 两个集合中所有的元素(去掉重复)即为 a 与 b 的并集

  • 返回多个集合的并集,即包含了所有集合的元素,重复的元素只会出现一次用法:a_set.union(b_set)参数:b_set:与当前集合对比的 1 或多个集合返回值:返回原始集合与对比集合的并集


set1 = {'theshy', 'rookie', 'jackeylove', 'ning', 'baolan'}set2 = {'ning', 'baolan', 'duke'}set3 = set1.union(set2)print(set3)
-----------------------------输出结果如下:{'theshy', 'rookie', 'ning', 'duke', 'jackeylove', 'baolan'}
复制代码


  1. 集合的 isdisjoint 函数判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False 用法:a_set.isdisjoint(b_set)参数:b_set:与当前集合用来判断的集合返回值返回一个布尔值 True 或 False


set1 = {'theshy', 'rookie', 'jackeylove', 'ning', 'baolan'}set2 = {'ning', 'baolan', 'duke'}set3 = {'tian'}r = set1.isdisjoint(set2)r1 = set1.isdisjoint(set3)print(r)print(r1)------------------输出结果如下:FalseTrue
复制代码

总结

本文主要介绍了 Python 中关于集合的相关操作,集合是 Python 中重要的数据类型,是我们必须掌握的内容。


获取更多技术资料,请点击!

用户头像

社区:ceshiren.com 微信:ceshiren2021 2019-10-23 加入

微信公众号:霍格沃兹测试开发 提供性能测试、自动化测试、测试开发等资料,实时更新一线互联网大厂测试岗位内推需求,共享测试行业动态及资讯,更可零距离接触众多业内大佬。

评论

发布
暂无评论
软件测试|一文弄懂Python集合相关操作_霍格沃兹测试开发学社_InfoQ写作社区