Python集合操作
Python集合
2018-1-11:
1、集合天生去重(即集合里面没有2个相同的元素),集合是无序的
常用关键字:set,intersection,union,difference,symmetric_difference,
issubset,issuperset,isdisjoint,add,remove,discard,pop,in,not in,len
set 集合
用法:将列表或字典转为集合
list1 = [1,2,3,4,4,3,2,1] #定义列表1
dictionaries1 = {1,2,3,3,4,2} #定义字典1
list2 = set(list1) #将列表1转为集合
dictionaries2 = set(dictionaries1) #将字典1转为集合
print(list2,dictionaries2) #将两个集合打印
输出:{1, 2, 3, 4} {1, 2, 3, 4}
intersection 交集&
用法:取出两个集合的相同元素
assemble1 = set([1,2,3,4,"test"]) #定义集合1
assemble2 = set([1,5,6,7,"test1"]) #定义集合2
print (assemble1.intersection(assemble2)) #打印交集
输出:{1}
union 并集|
用法:将两个集合合并成一个集合
assemble1 = set([1,2,3]) #定义集合1
assemble2 = set([1,5,6]) #定义集合2
print (assemble1.union(assemble2)) #打印并集
输出:{1,2,3,5,6}
difference 差集-,需注意集合顺序
用法:将集合1与集合2中共有的元素去掉,然后保留集合1
assemble1 = set([1,2,3]) #定义集合1
assemble2 = set([1,5,6]) #定义集合2
print (assemble1.difference(assemble2)) #打印差集
输出:{2,3}
symmetric_difference 对称差集^
用法:把2个集合相同的去掉,然后合并2个集合
assemble1 = set([1,2,3]) #定义集合1
assemble2 = set([1,2,4]) #定义集合2
print (assemble1.symmetric_difference(assemble2)) #输出{3,4}
输出:{3,4}
issubset 子集
用法:集合1是否包含集合2,是True,否False
assemble1 = set([1,2,3]) #定义集合1
assemble2 = set([1,2]) #定义集合2
print (assemble2.issubset(assemble1)) #输出True
输出:True
issuperset 父集
用法:集合1是否包含集合2,是True,否False
assemble1 = set([1,2,3]) #定义集合1
assemble2 = set([1,2,4]) #定义集合2
print (assemble1.issuperset(assemble2)) #输出False
输出:False
isdisjoint 判断两个集合是否含交集,可用符号(例:<=,>=,>,<)
用法:如果集合1与集合2有交集输出False,否则True
assemble1 = set([1,2]) #定义集合1
assemble2 = set([1,2,4]) #定义集合2
assemble3 = set([5,6,7]) #定义集合2
print(assemble1.isdisjoint(assemble2),end=";") #False
print(assemble1 < assemble2,end=";") #True
print(assemble1.isdisjoint(assemble3)) #True
输出:False;True;True
集合运算符号
assemble1 = set([1,2,3]) #定义集合1
assemble2 = set([1,2,4]) #定义集合2
a = assemble1 | assemble2 #并集|
b = assemble1 & assemble2 #交集&
c = assemble1 - assemble2 #差集- ,需注意集合顺序
d = assemble1 ^ assemble2 #对称差集^
print(a,b,c,d)
输出:{1, 2, 3, 4} {1, 2} {3} {3, 4}
集合的基本操作
添加元素 add
assemble1 = set([1,2,3]) #定义集合1
assemble1.add(4) #添加一个元素
print(assemble1) #输出{1,2,3,4}
assemble1.update([5,6,7]) #添加多个元素,注意[]
print(assemble1) #输出{1,2,3,4,5,6,7}
删除 remove,discard,pop
assemble1 = set([1,2,3]) #定义集合1
assemble1.remove(3) #删除一个元素,如果集合没有该元素会报错
assemble1.discard(3) #删除一个元素,如果集合没有该元素不会报错
print(assemble1) #输出{1,2}
print(assemble1.pop()) #随机删除并返回删除值,每次运行结果一样是因为你的集合数据量不够大,假设输出:1
print(assemble1) #输出{2}
获取集合长度 len
assemble1 = set([1,2,3]) #定义集合1
print(len(assemble1)) #输出:3
判断某元素是否在该集合内 in / not in
assemble1 = set([1,2,3]) #定义集合1
print(1 in assemble1) #输出:True
print(1 not in assemble1) #输出:False
浙公网安备 33010602011771号