Python学习day05-集合魔法(方法)及基本知识

一、集合(set)

①基本特征:
(1)集合内的元素是无序的,集合是可变类型
(2)集合的元素是不重复的,元素必须是不可变类型
②基本格式:

s={"hello",1,2}

③集合的遍历,查看
通过for循环

s={"hello",1,2}
for i in s:
    print(i)

二、集合的运算

所有集合的运算都不改变集合的内容,只是运算返回一个结果(返回一个集合)
①交集
返回两个集合相同的部分

s1={1,2,4}
s2={1,2,3}
print(s1&s2)				#{1, 2}
print(s1.intersection(s2))	#{1, 2}

②并集
合并两个集合,去除重复的

s1={1,2,4}
s2={1,2,3}
print(s1|s2)		#{1, 2, 3, 4}
print(s1.union(s2))	#{1, 2, 3, 4}

③差集
集合相减,返回另一个集合没有的元素
相减顺序不同,得到的结果也不同

s1={1,2,4}
s2={1,2,3}
print(s1-s2)				#{4}
print(s2.difference(s1))	#{3}

④交叉补集
先合并两个集合,去除两个集合共有的部分

s1={1,2,4}
s2={1,2,3}
print(s1^s2)	#{3, 4}
print(s2.symmetric_difference(s1))	#{3, 4}

三、集合魔法(方法)

①add
添加新元素,如果元素已存在忽略

s1={1,2,4}
s1.add(2)
s1.add("Hello")
print(s1)	#{'Hello', 1, 2, 4}

②update
讲一个集合添加进当前集合中,如果有重复的去重

s1={1,2,4}
s1.update({3,4})
print(s1)	#{1, 2, 3, 4}

③clear
清空集合

s1={1,2,4}
s1.clear()
print(s1)	#set()

④copy
拷贝集合

s1={1,2,4}
s2=s1.copy()
print(s2)	#{1, 2, 4}

⑤pop
随机删除一个元素

s1={2,4,1,3,5}
s1.pop()
print(s1)	#{2, 3, 4, 5}

⑥remove、discard
删除指定元素
remove:删除元素不存在会报错
discard:删除元素不存在不会报错

s1={2,4,1,3,5}
s1.discard(2)
s1.remove(5)
print(s1)	#{1, 3, 4}

⑦isdisjoint
如果两个集合的交集为空,返回True

s1={1,2,3}
s2={4,5,6}
print(s1.isdisjoint(s2))	#True

⑧issubset、issuperset
issubset:判断当前集合是否为参数内集合的子集
issuperset:判断当前集合是否为参数内集合的父集

s1={1,2}
s2={1,2,3}
print(s1.issubset(s2))	 #True
print(s2.issubset(s1))	 #False
print(s2.issuperset(s1)) #True

⑨difference_update
相当于集合做集差运算,但是此函数会改变原集合的内容

python_l={'lcg','szw','zjw'}
linux_l={'lcg','szw','sb'}
python_l.difference_update(linux_l)
print(python_l)	#{'zjw'}

猜你喜欢

转载自blog.csdn.net/qq_41453285/article/details/82846894