集合相关操作函数

# ### 集合相关操作 (交差并补)
#intersection() 交集
set1 = {"周杰伦","王文","刘德华"}
set2 = {"周润发","周星星","王文"}
res = set1.intersection(set2)
print(res)
res = set1 & set2
print(res)

#difference()   差集
set1= {"方贵权","黄一真","黄少正","黄熊大","皇阿玛"}
set2 = {"邓远文","王俊文","黄文","黄熊大"}
res = set1.difference(set2)
print(res)
res = set1 - set2
print(res)

#union()  并集
set1= {"方贵权","黄一真","黄少正","黄熊大","皇阿玛"}
set2 = {"邓远文","王俊文","黄文","黄熊大"}
res = set1.union(set2)
print(res)
res = set1 | set2
print(res)

#symmetric_difference() 对称差集 (补集情况涵盖在其中)
set1= {"方贵权","黄一真","黄少正","黄熊大","皇阿玛"}
set2 = {"邓远文","王俊文","黄文","黄熊大"}
res = set1.symmetric_difference(set2)
print(res)
res = set1 ^ set2
print(res)

#issubset()   判断是否是子集
set1 = {"王文","王俊文","黄文"}
# set2 = {"王文","王俊文","黄文"}
set2 = {"黄文"}
res = set2.issubset(set1)
print(res)
# 真子集:2个集合不是完全一样的
res  =set2 < set1  # <=
print(res)

#issuperset() 判断是否是父集
set1 = {"王文","王俊文","黄文"}
set2 = {"黄文"}
res = set1.issuperset(set2)
print(res)
res = set1 > set2 # >=
print(res)

#isdisjoint() 检测两集合是否不相交  不相交 True  相交False
set1 = {"王文","王俊文","黄文"}
set2 = {"黄文"}
res = set1.isdisjoint(set2)
print(res)

# ### 集合相关函数

# (1) 增
#add()    向集合中添加数据
setvar = {"王文","王俊文","黄文"}
setvar.add("张耀文")
print(setvar)

#update() 迭代着增加 update(可迭代性数据)
setvar.update(["陈文江","姜文"])
print(setvar)

# (2) 删除
#clear()  清空集合
setvar = {"王文","王俊文","黄文"}
setvar.clear()
print(setvar)

#pop()     随机删除集合中的一个数据
setvar = {"王文","王俊文","黄文"}
setvar.pop()
print(setvar)

#remove()  删除集合中指定的值(不存在则报错)
setvar = {"王文","王俊文","黄文"}
setvar.remove("黄文")
# setvar.remove("黄133文") error
print(setvar)

#discard() 删除集合中指定的值(不存在的不删除 推荐使用)
setvar = {"王文","王俊文","黄文"}
res = setvar.discard("黄133文")
print(setvar)
# print(res)

# ###冰冻集合  (只能做交叉并补)
# frozenset 可强转容器类型数据变为冰冻集合
# 冰冻集合一旦创建,不能在进行任何修改,只能做交叉并补操作

# (1) 声明空的冰冻集合
fz = frozenset()
print(fz,type(fz))

fz1 = frozenset([1,2,3,4])
print(fz1,type(fz1))
# fz2 = frozenset("2345")
fz2 = frozenset((2,3,4,5))
print(fz2,type(fz2))

res = fz1 & fz2
print(res)

# fz1.add("890") # error 不允许添加或者删除操作.

  

原文地址:https://www.cnblogs.com/huangjiangyong/p/10823131.html

时间: 2024-10-10 10:01:45

集合相关操作函数的相关文章

Python 基础之集合相关操作与函数和字典相关函数

一:集合相关操作与相关函数 1.集合相关操作(交 差 并 补 )#intersection() 交集set1 = {"one","two","three"}set2 = {"four","five","one"}res = set1.intersection(set2)print(res)res = set1 & set2print(res) #difference() 差集se

(二十四)linux新定时器:timefd及相关操作函数

timerfd是Linux为用户程序提供的一个定时器接口.这个接口基于文件描述符,通过文件描述符的可读事件进行超时通知,所以能够被用于select/poll的应用场景. 一,相关操作函数 #include <sys/timerfd.h> int timerfd_create(int clockid, int flags); int timerfd_settime(int fd, int flags, const struct itimerspec *new_value, struct itim

python集合相关操作

集合相关操作 集合是一个无序的,不重复的数据组合,它有着两个主要作用:去重以及关系测试. 去重指的是当把一个列表变成了集合,其中重复的内容就自动的被去掉了 关系测试指的是,测试两组数据之间的交集.差集.并集等关系. 去重测试代码如下: # 创建一个列表 -- 里面存在一些重复值 test_list = [1,2,3,4,2,2,3,4,3,2,3,4] # 利用集合将列表中重复的内容去掉 test_list = set(test_list) # 打印测试并且查看test_list 被赋予新值后的

python 集合相关操作

集合相关操作 集合是一个无序的,不重复的数据组合,它有着两个主要作用:去重以及关系测试. 去重指的是当把一个列表变成了集合,其中重复的内容就自动的被去掉了 关系测试指的是,测试两组数据之间的交集.差集.并集等关系. 去重测试代码如下: # 创建一个列表 -- 里面存在一些重复值 test_list = [1,2,3,4,2,2,3,4,3,2,3,4] # 利用集合将列表中重复的内容去掉 test_list = set(test_list) # 打印测试并且查看test_list 被赋予新值后的

集合相关操作

a=set('15awee') #创建可变集合s=frozenset('kokoko') #创建不变集合print(a,s) b=['dsss',4455,'dsss'] #将列表转换为集合b1=set(b)print(b1) c=set('alex')c.add('apple') #用add方法给集合添加一个元素'apple'c.add(555) #用add方法给集合添加一个元素'555'print(c) d=set('o')d.update('apple') #update也是添加元素,但此

php数组相关操作函数

判断是否是一个数组 function _is_array($value){ if (is_array($value)) { return true; } else { if(is_object($value) && is_array(json_decode(json_encode($value),true))){ return true; } return (is_object($value) AND $value instanceof \Traversable);//实现这个接口对象可以

u-boot串口和stdio、console初始化及相关操作详解&lt;三&gt;

console是构建在stdio之上的,console的初始化是board_r中最后收尾的操作. console的初始化函数console_init_r在common/console.c中实现: int console_init_r(void) { char *stdinname, *stdoutname, *stderrname; struct stdio_dev *inputdev = NULL, *outputdev = NULL, *errdev = NULL; #ifdef CONFI

Oracle集合操作函数:union、intersect、minus

[转]Oracle集合操作函数:union.intersect.minus 集合操作符专门用于合并多条select 语句的结果,包括:UNION, UNION ALL, INTERSECT, MINUS.当使用集合操作符时,必须确保不同查询的列个数和数据类型匹配. 集合操作符具有以下注意事项: 集合操作符不适用于LOB.VARRAY和嵌套表列. UNION.INTERSECT.MINUS操作符不使用于 LONG列. 如果选择列表中包含有表达式或者函数,那么必须为表达式或者函数定义列别名. 1.U

(笔记)Linux内核中内存相关的操作函数

linux内核中内存相关的操作函数 1.kmalloc()/kfree() static __always_inline void *kmalloc(size_t size, gfp_t flags) 内核空间申请指定大小的内存区域,返回内核空间虚拟地址.在函数实现中,如果申请的内存空间较大的话,会从buddy系统申请若干内存页面,如果申请的内存空间大小较小的话,会从slab系统中申请内存空间.有关buddy和slab,请参见<linux内核之内存管理.doc> gfp_t flags 的选项