打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
python3集合操作方法详解 python3集合操作大全
#!/usr/bin/env python
# -*- coding:utf-8 -*-
#Author:sking
#python3集合操作方法详解  python3集合操作大全

#集合是无序的
#创建集合
a = {1,2,3} #正确
b = set([1,2,3]) #正确
c = set((1,2,3)) #正确
d = set({1:3,2:4}) #结果{1, 2}  只能取字典的key

#add添加集合中的元素(添加一项)
a = set([1,2,3])
a.add(4) 
print(a) #{1, 2, 3, 4}
#update添加集合中的元素(添加多项)
b = set([1,2,3])
b.update([4,5,6]) 
print(b) #{1, 2, 3, 4, 5, 6}
#remove删除集合中的元素(删除一项) 如果不存在就会报错
a = set([1,2,3])
a.remove(2) 
print(a) #{1, 3}
#discard删除集合中的元素(删除一项)如果不存在不会报错
n = set([2,3,4])
n.discard(3)
print(n) #{2, 4}
#pop(随机移除一个元素)
n = set([2,3,4,5])
n1 = n.pop()
print(n,n1) #{3, 4, 5} 2
#clear(清空所有元素)
name = set(['Tom','Lucy','Ben'])
name.clear()
print(name) #输出:set()

#len计算集合长度
a = set([1,2,3])
b = set(['aaa', 'bbb', 'ccc'])
print(len(a), len(b)) #3 3
#in判断某一个元素是不是在集合中
a = set([1,2,3])
print(1 in a) #True
#copy浅复制
a = set([1,2,3])
b = a.copy()
print(b) #{1, 2, 3}

print('+_+_+_+_+_+_++_+_+_+_+_+_+_')
a = [1,2,3,1,4,5,3,6]
b = set(a) #去除列表a中重复的元素
print(b) #{1, 2, 3, 4, 5, 6}
print(type(b)) #<class 'set'>

c = set([1,2,3,4,5,6])
d = set([1,2,3,8,9,0])
#求交集
#方法1
print(c.intersection(d)) #{1, 2, 3}
#方法2
print(c & d) #{1, 2, 3}
#求并集(就是都放在一起,相同的仅保留一个)
#方法1
print(c.union(d)) #{0, 1, 2, 3, 4, 5, 6, 8, 9}
#方法2
print(c | d) #{0, 1, 2, 3, 4, 5, 6, 8, 9}
#求差集(就是求1里面有而2里面没有的,也就是去掉1里面和2相同的元素)
#方法1
print(c.difference(d)) #{4, 5, 6}
#方法2
print(c - d) #{4, 5, 6}

#对称差集(就是把两个集合中不相同的元素提取出来)
c = set([1,2,3,4,5,6])
d = set([1,2,3,8,9,0])
#方法1
print(c.symmetric_difference(d)) #{0, 4, 5, 6, 8, 9}
#方法2
print(c ^ d) #{0, 4, 5, 6, 8, 9}

#判断子集和父集
a = set([1,2,3])
b = set([1,2,3,4,5,6])
#判断a是否是b的子集
print(a.issubset(b)) #True
#判断b是否是a的父集
print(b.issuperset(a)) #True
#判断两个集合是否有交集,没有交集就返回True,有交集就返回False
a = set([1,2,3])
b = set([4,5,6])
c = set([1,4,5])
print(a.isdisjoint(b)) #True
print(a.isdisjoint(c)) #False

"""
add(增加元素)
name = set(['Tom','Lucy','Ben'])
name.add('Juny')print(name) #输出:{'Lucy', 'Juny', 'Ben', 'Tom'} 

clear(清空所有元素)
name = set(['Tom','Lucy','Ben'])
name.clear()
print(name) #输出:set() 

copy(拷贝set集合)
name = set(['Tom','Lucy','Ben'])
new_name = name.copy()print(new_name) #输出:{'Tom', 'Lucy', 'Ben'} 

difference(返回两个或多个集合中不同的元素,并生成新的集合)
A = set([2,3,4,5])
B = set([3,4])
C = set([2])
n = n1.difference(n2,n3)
print(n) #输出:{5}#返回A集合里面,在B和C集合中没有的元素,并生成新的集合 

difference_update(删除A集合里面,在B集合中存在的元素。)
A = set([2,3,4,5])
B = set([4,5])
A.difference_update(B)
print(A) #输出:{2, 3} 

discard(移除元素) 
n = set([2,3,4])
n.discard(3)
print(n) #输出:{2, 4} 

intersection(取交集,并生成新的集合)
n1 = set([2,3,4,5])
n2 = set([4,5,6,7])
n = n1.intersection(n2)
print(n) #输出:{4, 5} 

intersection_update(取交集,修改原来的集合)
n1 = set([2,3,4,5])
n2 = set([4,5,6,7])
n1.intersection_update(n2)
print(n1) #输出:{4, 5} 

isdisjoint(判断交集,是返回False,否返回True)
n1 = set([2,3,4,5])
n2 = set([4,5,6,7])
print(n1.isdisjoint(n2)) #输出:False 

issubset(判断子集)
A = set([2,3])
B = set([2,3,4,5])
print(A.issubset(B)) #输出:True#A是B的子集 

issuperset(判断父集)
A = set([2,3])
B = set([2,3,4,5])
print(B.issuperset(A)) # 输出:True#B是A的父集 

pop(随机移除一个元素)
n = set([2,3,4,5])
n1 = n.pop()
print(n,n1) # 输出:{3, 4, 5} 2 

remove(移除指定元素)
n = set([2,3,4,5])
n.remove(2)
print(n) # 输出:{3, 4, 5} 

symmetric_difference(取交集,并生成新的集合)
A = set([2,3,4,5])
B = set([4,5,6,7])
print(A.symmetric_difference(B)) # 输出:{2, 3, 6, 7} 

symmetric_difference_update(取交集,改变原来的集合)
A = set([2,3,4,5])
B = set([4,5,6,7])
A.symmetric_difference_update(B)
print(A) # 输出:{2, 3, 6, 7} 

union(取并集,并生成新的集合)
A = set([2,3,4,5])
B = set([4,5,6,7])
print(A.union(B)) # 输出:{2, 3, 4, 5, 6, 7} 

update(取并集,改变原来的集合)
A = set([2,3,4,5])
B = set([4,5,6,7])
A.update(B)
print(A) # 输出:{2, 3, 4, 5, 6, 7} 

"""

/////////////////////

{1, 2, 3, 4}

{1, 2, 3, 4, 5, 6}

{1, 3}

{2, 4}

{3, 4, 5} 2

set()

3 3

True

{1, 2, 3}

+_+_+_+_+_+_++_+_+_+_+_+_+_

{1, 2, 3, 4, 5, 6}

<class 'set'>

{1, 2, 3}

{1, 2, 3}

{0, 1, 2, 3, 4, 5, 6, 8, 9}

{0, 1, 2, 3, 4, 5, 6, 8, 9}

{4, 5, 6}

{4, 5, 6}

{0, 4, 5, 6, 8, 9}

{0, 4, 5, 6, 8, 9}

True

True

True

False

[Finished in 0.2s]

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Python求列表的差集、交集与并集?
从零学Python:第十四课-常用数据结构之集合
python set集合运算(交集,并集,差集,对称差集)
简单几步认识python的递归,集合,itertools
说说Python集合的那些事儿
python中的set集合,元素的CRUD处理,交集/差集/并集计算,不只是能去重!
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服