集合操作

Posted tyshenchu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了集合操作相关的知识,希望对你有一定的参考价值。

集合操作                                                                                                                      

set集合是一个无序且不重复的集合。创建一个set集合:

name = set(‘sdd‘)

name

返回结果:{‘d‘, ‘s‘}

 

add

    功能:增加集合元素

    name = {‘d‘, ‘s‘}

    name.add(‘d‘)

    name

    返回结果:{‘d‘, ‘s‘}

    name.add(‘sd‘)

    name

    返回结果:{‘sd‘, ‘d‘, ‘s‘}

 

clear

    功能:清空集合元素

    name = {‘d‘, ‘s‘}

    name.clear()

    name

    返回结果:{}

 

copy

    功能:浅拷贝

    name = {‘sd‘, ‘d‘, ‘s‘}

    li = name.copy()

    返回结果:li

            {‘sd‘, ‘d‘, ‘s‘}

 

difference

    name.difference(li)

    set()

    >>> name.difference()

    {‘sd‘, ‘d‘, ‘s‘}

 

difference_update

    功能:删除当前set中的所有包含在 new set 里的元素

    li = (‘s‘, ‘d‘)

    name = {‘sd‘, ‘d‘, ‘s‘}

    name.difference_update(li)

    name

    返回结果:{‘sd‘}

discard

    功能:移除元素

    name = {‘sd‘, ‘d‘, ‘s‘}

    name.discard(‘s‘)

    返回结果:name

            {‘sd‘, ‘d‘}

 

intersection

    功能:取交集,建立新的set集合

    li = (‘s‘, ‘d‘)

    name = {‘sd‘, ‘d‘, ‘s‘}

    name.intersection(li)

    返回结果:{‘d‘, ‘s‘}

 

intersection_update

    功能:取交集,更新原来的set集合

    li = (‘s‘, ‘d‘)

    name = {‘sd‘, ‘d‘, ‘s‘}

    name.intersection_update(li)

    返回结果:{‘d‘, ‘s‘}

 

isdisjoint

    功能:判断没有交集,返回True,否则,返回False

    li = {‘s‘, ‘d‘}

    name = {‘sd‘, ‘d‘, ‘s‘}

    name.isdisjoint(li)

 

issubset

    功能:判断是否是子集

    li = {‘s‘, ‘d‘}

    name = {‘sd‘, ‘d‘, ‘s‘}

    name.issubset(li)  #判断name是不是li的子集

    返回结果:False

    li.issubset(name)  #判断li是不是name的子集

    返回结果:True

 

issuperset

    功能:判断是否是父集

    li = {‘s‘, ‘d‘}

    name = {‘sd‘, ‘d‘, ‘s‘}

    name.issuperset(li)  #判断name是不是li的父集

    返回结果:True

    li.issuperset(name)  #判断li是不是name的父集

    返回结果:False

pop

    功能:移除集合元素

    name = {‘sd‘, ‘d‘, ‘s‘}

    name.pop()

    返回结果:‘sd‘ #同一个集合,删除集合元素的顺序固定

    se1 = {‘a‘,‘s‘,‘sb‘}

    se1.pop()

    返回结果:‘sb‘

 

remove

    功能:移除指定集合元素

    name = {‘sd‘,‘d‘,‘s‘}

    name.remove(‘s‘)

    返回结果:name

    {‘sd‘, ‘d‘}

 

symmetric_difference

    功能:去两个集合的差集,建立新的set集合对象

    name = {‘sd‘, ‘d‘, ‘s‘}

    li = {‘s‘, ‘d‘}

    name.symmetric_difference(li)

    返回结果:{‘sd‘}

 

symmetric_difference_update

    功能:去两个集合的差集,更新原来的集合对象

    name = {‘sd‘, ‘d‘, ‘s‘}

    li = {‘s‘, ‘d‘}

    name.symmetric_difference_update(li)

    返回结果:{‘sd‘}

 

union

    功能:并集,创建新的对象

    name = {‘sd‘, ‘d‘, ‘s‘}

    li = {‘s‘, ‘d‘,‘h‘}

    name.union(li)

    返回结果:{‘h‘, ‘s‘, ‘d‘, ‘sd‘}

 

update

    功能:更新已有集合

    name = {‘sd‘, ‘d‘, ‘s‘}

    name.update(‘df‘)

    name

    返回结果:{‘sd‘, ‘d‘, ‘f‘, ‘s‘}

 

 

a = t | s          # t 和 s的并集 

 

b = t & s          # t 和 s的交集 

 

c = t – s         # 求差集(项在t中,但不在s中) 

 

d = t ^ s          # 对称差集(项在t或s中,但不会同时出现在二者中)

 

以上是关于集合操作的主要内容,如果未能解决你的问题,请参考以下文章

关于C++集合操作赋值和集合间操作的结果集合的疑问

关于C++集合操作赋值和集合间操作的结果集合的疑问

RedisRedis 集合 Set 操作 ( Set 集合数据 | 查询操作 | 查询所有值 | 随机获取值 | 获取交集并集差集 | 增操作 | 删操作 | 修改操作 )

Groovy集合遍历 ( 操作符重载 | 集合中的 “ + “ 操作符重载 | 集合中的 “ - “ 操作符重载 | 代码示例 )

Groovy集合遍历 ( 操作符重载 | 集合中的 “ + “ 操作符重载 | 集合中的 “ - “ 操作符重载 | 代码示例 )

Groovymap 集合 ( map 集合操作符重载 | *. 展开操作符 | 代码示例 )