【测试开发】python系列教程: 标准数据类型(五)Set(集合)

2022-12-29 19:37:50 浏览数 (1)

上篇文章:

【测试开发】python系列教程:标准数据类型(四)Tuple(元组)

本次分享在python中集合


正文

集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。

基本功能是进行成员关系测试和删除重复元素。

可以使用大括号 { } 或者 set() 函数创建集合

代码语言:javascript复制
>>> name={1}
>>> name
{1}
>>> name2={1,'2'}
>>> name2
{1, '2'}
>>> name3=set()
>>> name3
set()

注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

那么它有哪些可以用到的方法

代码语言:javascript复制
>>> dir(set)
['__and__', '__class__', '__contains__', '__delattr__',
 '__dir__', '__doc__', '__eq__', '__format__',
  '__ge__', '__getattribute__', '__gt__', '__hash__',
   '__iand__', '__init__', '__init_subclass__', 
   '__ior__', '__isub__', '__iter__', '__ixor__', 
   '__le__', '__len__', '__lt__', '__ne__', '__new__',
    '__or__', '__rand__', '__reduce__', '__reduce_ex__', 
    '__repr__', '__ror__', '__rsub__', '__rxor__', 
    '__setattr__', '__sizeof__', '__str__', '__sub__', 
    '__subclasshook__', '__xor__', 'add', 'clear',
     'copy', 'difference', 'difference_update', 
     'discard', 'intersection', 'intersection_update',
      'isdisjoint', 'issubset', 'issuperset', 'pop', 
      'remove', 'symmetric_difference', 
      'symmetric_difference_update', 'union', 'update']

假如我们需要是否存在

代码语言:javascript复制
>>> name3
{1}
>>> 1 in name3
True
>>> '2' in name3
False

增加元素呢

代码语言:javascript复制
>>> name3.add(2)
>>> name3
{1, 2}
#还可以用
>>> name3.update('2')
>>> name3
{1, 2, '2'}
>>> name3.update('2','3')
>>> name3
{1, 2, '3', '2'}
#可以看到update 可以去添加多个元素

删除元素

代码语言:javascript复制
>>> name3
{1, 2, '3', '2'}
>>> name3.pop()
1
>>> name3
{2, '3', '2'}
#另外
>>> name3.remove('2')
>>> name3
{2, '3'}
#能移除指定的元素

多次给集合添加相同元素

代码语言:javascript复制
>>> name3
{2, '3'}
>>> name3.update('2','3')
>>> name3.update('2','3')
>>> name3
{2, '3', '2'}

发现在集合中元素是唯一的。

获取集合的长度

代码语言:javascript复制
>>> name3
{2, '3', '2'}
#元组自带的方法
>>> name3.__len__()
3
#使用系统函数
>>> len(name3)
3

上面列举了集合的一些常见的使用,当然还有其他方式,可以在前面的dir查看,也可以从help查看,

dir查看的是方法,help 可以看到具体怎么用的。快速查看看用dir,详细的使用可以用help

0 人点赞