关于Python集合(set)的整理
Posted msj513
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于Python集合(set)的整理相关的知识,希望对你有一定的参考价值。
集合
- 不同元素组成
- 无序
- 集合当中元素必须是不可变类型(数字,字符串,元组)
集合的定义:
s = {1,2,3,3,4}
s = {‘hello’}
转换只有可迭代对象才可以转换
set 方法
-add #将对象添加到集合中
s ={1,2,3,4,5,6} s.add("s") s.add(‘3‘) s.add(3) print(s) #结果:{1, 2, 3, 4, 5, 6, ‘s‘, ‘3‘}
-clear
s ={1,2,3,4,5,6} s.clear() print(s) #结果:set()
-copy
s = {1,2,3,4,5,6} s1 = s.copy() print(s1) #结果:{1, 2, 3, 4, 5, 6}
-pop #随机删除
-remove #指定删除
s = {‘sb‘,1,2,3,4,5,6} s.pop() print(s)#随机删除 s.remove(‘sb‘) print(s)#指定删除 #s.remove(‘helo‘)#删除元素不存在,会报错 s.discard(‘ssbb‘)#删除元素,不存在也不会保错 #结果:{2, 3, 4, 5, 6, ‘sb‘} #{2, 3, 4, 5, 6}
一般方法求共同项
python_1 =[‘lcg‘,‘szw‘,‘zjw‘] linux_1 = [‘lcg‘,‘szw‘] python_and_linux = [] for p_name in python_1: if p_name in linux_1: python_and_linux.append(p_name) print(python_and_linux) #结果:[‘lcg‘, ‘szw‘]
#用集合的方式 python_1 =[‘lcg‘,‘szw‘,‘zjw‘] linux_1 = [‘lcg‘,‘szw‘,‘sb‘] p_s = set(python_1)#转换为集合 l_s =set(linux_1) print(p_s)
1 print(l_s) 2 print(p_s.intersection(l_s))#求交集 3 print(p_s&l_s) 4 5 #求并集 6 print(p_s.union(l_s)) 7 print(p_s|l_s) 8 9 #求差集 10 print("差集",p_s - l_s) 11 print("差集",l_s - p_s) 12 print(p_s.difference(l_s)) 13 14 15 ‘‘‘结果: 16 {‘lcg‘, ‘zjw‘, ‘szw‘} 17 {‘lcg‘, ‘sb‘, ‘szw‘} 18 {‘lcg‘, ‘szw‘} 19 {‘lcg‘, ‘szw‘} 20 {‘lcg‘, ‘zjw‘, ‘sb‘, ‘szw‘} 21 {‘lcg‘, ‘zjw‘, ‘sb‘, ‘szw‘} 22 差集 {‘zjw‘} 23 差集 {‘sb‘} 24 {‘zjw‘}‘‘‘
1 python_1 =[‘lcg‘,‘szw‘,‘zjw‘] 2 linux_1 = [‘lcg‘,‘szw‘,‘sb‘] 3 p_s = set(python_1)#转换为集合 4 l_s =set(linux_1) 5 #交叉补集 6 #交叉补集 7 print(p_s.symmetric_difference(l_s)) 8 print(p_s^l_s) 9 结果: 10 {‘sb‘, ‘zjw‘} 11 {‘sb‘, ‘zjw‘}
1 -differnece_update 2 python_1 =[‘lcg‘,‘szw‘,‘zjw‘] 3 linux_1 = [‘lcg‘,‘szw‘,‘sb‘] 4 p_s = set(python_1) 5 l_s = set(linux_1) 6 print(p_s - l_s) 7 print(p_s) 8 p_s.difference_update(l_s)#更新求差集,更新的数据在 9 print(p_s) 10 结果: 11 {‘zjw‘} 12 {‘lcg‘, ‘zjw‘, ‘szw‘} 13 {‘zjw‘}
s1 = {1,2,3,4} s2 = {5,6,7} print(s1.isdisjoint(s2))#判断是否没有交集,如果没有交集则返回True #结果:True
1 s1 = {1,2} 2 s2 = {1,2,3} 3 print(s1.issubset(s2))#是否子集的情况 4 #结果:True
1 print(s2.issuperset(s1))#是否是父集 2 #结果:True
s1 = {1,2}
1 #去重,在不考虑顺序的情况下 2 names = ["alex","alex",‘wupeiqi‘] 3 names = list(set(names)) 4 print(names) 5 #结果:[‘alex‘, ‘wupeiqi‘]
s2 = {1,2,3} s1.update(s2)#更新集合中的数据,可以传入可迭代对象 print(s1) #结果:{1, 2, 3}
以上是关于关于Python集合(set)的整理的主要内容,如果未能解决你的问题,请参考以下文章