Python学习之set
一、基础属性
# -*- coding:UTF-8 -*-
s = {1, 2, 3, 4, 5} # 无序,不可重复
# 长度
print(len(s))
# 循环
for i in s:
print(i),
# 5
# 1 2 3 4 5
二、内部其他功能
1.增:def add(self, *args, **kwargs)
添加一个元素
# -*- coding:UTF-8 -*-
s = {1, 2, 3, 4, 5}
s.add("7")
print(s)
# set([1, 2, 3, 4, 5, '7'])
2.清空:def clear(self, *args, **kwargs)
清空列表
3.拷贝:def copy(self, *args, **kwargs)
浅拷贝
4:求补集def difference(self, *args, **kwargs)
求s对sb的补集
# -*- coding:UTF-8 -*-
s = {1, 2, 3, 4, 5}
sb = {1, 2, 3, 7, 8}
sc = s.difference(sb)
print(sc)
# set([4, 5])
5.取补集更新:def difference_update(self, *args, **kwargs)
取完补集之后将将补集替换原集合内的元素
# -*- coding:UTF-8 -*-
s = {1, 2, 3, 4, 5}
sb = {1, 2, 3, 7, 8}
s.difference_update(sb)
print(s)
# set([4, 5])
6.安全移除:def discard(self, *args, **kwargs)
移除某个元素,不存在的话不报错
7:求交集:def intersection(self, *args, **kwargs)
求s和sb的交集
# -*- coding:UTF-8 -*-
s = {1, 2, 3, 4, 5}
sb = {1, 2, 3, 7, 8}
sc = s.intersection(sb)
print(sc)
# set([1, 2, 3])
8:取交集更新:def intersection_update(self, *args, **kwargs)
取完交集之后将将交集替换原集合内的元素
# -*- coding:UTF-8 -*-
s = {1, 2, 3, 4, 5}
sb = {1, 2, 3, 7, 8}
s.intersection_update(sb)
print(s)
# set([1, 2, 3])
9.是否互异:def isdisjoint(self, *args, **kwargs)
判断两个集合是否没有相同的元素
# -*- coding:UTF-8 -*-
s = {1, 2, 3, 4, 5}
sb = {1, 2, 3, 7, 8}
sc = {7, 8, 9, 10}
print(s.isdisjoint(sb)) # s与sb有交集,不互异
print(s.isdisjoint(sc)) # s与sc无交集,互异
# False
# True
10.子集合判断:def issubset(self, *args, **kwargs)
判断调用者是否是参数的子集
# -*- coding:UTF-8 -*-
s = {1, 2, 3}
sb = {1, 2, 3, 4, 5}
sc = {1, 2, 3, 4, 5, 6, 7}
print(s.issubset(sb)) # true
print(sb.issubset(sc)) # true
11.父集合判断:def issuperset(self, *args, **kwargs)
判断调用者是否是参数的父集
# -*- coding:UTF-8 -*-
s = {1, 2, 3}
sb = {1, 2, 3, 4, 5}
sc = {1, 2, 3, 4, 5, 6, 7}
print(sc.issuperset(sb)) # true
print(sb.issuperset(s)) # true
12.出列:def pop(self, *args, **kwargs)
移除最后一个元素并返回
13.非安全移除:def remove(self, *args, **kwargs)
移除某个元素,不存在的话会报错
14.求补集之和:def symmetric_difference(self, *args, **kwargs)
并集 - 交集,产生一个新的集合
# -*- coding:UTF-8 -*-
s = {1, 2, 3, 7, 8}
sb = {1, 2, 3, 4, 5}
print(s.symmetric_difference(sb))
# set([4, 5, 7, 8])
15.求补集之和并替换:def symmetric_difference_update(self, *args, **kwargs)
# -*- coding:UTF-8 -*-
s = {1, 2, 3, 7, 8}
sb = {1, 2, 3, 4, 5}
s.symmetric_difference_update(sb)
print(s)
# set([4, 5, 7, 8])
16.求并集:def union(self, *args, **kwargs)
求两个集合并集,产生一个新的集合
# -*- coding:UTF-8 -*-
s = {1, 2, 3, 7, 8}
sb = {1, 2, 3, 4, 5}
print(s.union(sb))
# set([1, 2, 3, 4, 5, 7, 8])
17.求并集并替换:def update(self, *args, **kwargs)
求两个集合并集,并替换原集合
# -*- coding:UTF-8 -*-
s = {1, 2, 3, 7, 8}
sb = {1, 2, 3, 4, 5}
s.update(sb)
print(s)
# set([1, 2, 3, 4, 5, 7, 8])