Python基础(七):集合

本文深入探讨了Python中集合的基本概念、创建方式及多种操作方法,包括add、clear、copy、pop、remove等,并介绍了集合之间的关系运算如交集、并集、差集、交叉补集等,以及集合的特殊判断方法如isdisjoint、issubset和issuperset。

#不可变类型:字符串、数字、元组、
#可变类型:列表、字典
#集合:是由不同元素组成; 无序; 集合中的元素必须是不可变类型
#创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

#1.集合的创建

s = set("hello")
print(s)
#结果:{'h', 'l', 'e', 'o'}

#集合(set)是一个无序的不重复元素序列。

s1 = set(["a","b",126,"a"])
print(s1)
#结果:{'a', 'b', 126}

#2.方法
#2.1 add

s = {1,2,3,4,5,6}
s.add("sd")
print(s)
#结果:{1, 2, 3, 4, 5, 6, 'sd'}

#2.2 clear

s.clear()
print(s)
#结果:set()

#2.3 copy

s = {1,2,3,4,5,6}
s.copy()
print(s)
#结果:{1, 2, 3, 4, 5, 6}

#2.4 pop:随机删除 remove:指定删除

s = {"sd",1,2,3,4,5,6}
s.pop()
print(s)
#结果:{2, 3, 4, 5, 6, 'sd'}

s1 = {"sd",1,2,3,4,5,6}
s1.remove(5)
print(s1)
#结果:{1, 2, 3, 4, 'sd', 6}

s2 = {"sd",1,2,3,4,5,6}
s2.discard("sdcc")  #元素不存在不会报错
print(s2)

#3.关系运算

python_1 = ["wsx","jcy","yjt","asd"]
linux_1 = ["wsx","jcy","sas"]
python_and_linux =[]
for p in python_1:
    if p in linux_1:
        python_and_linux.append(p)
print(python_and_linux)
#结果:['wsx', 'jcy']

#3.1交集

p_s = set(python_1)
l_s =set(linux_1)
print(p_s.intersection(l_s))  #交集∩
#结果:{'jcy', 'wsx'}
print(p_s&l_s)
#结果:{'jcy', 'wsx'}

#3.2并集

print(p_s.union(l_s))
print(p_s|l_s)
#结果:{'yjt', 'asd', 'wsx', 'sas', 'jcy'}

#3.3差集

print(p_s-l_s)
print(p_s.difference(l_s))
#结果:{'asd', 'yjt'}

#3.4交叉补集:去掉两集合共同的部分的集合

print(p_s.symmetric_difference(l_s))
print(p_s^l_s)
#结果:{'asd', 'yjt', 'sas'}

#3.5 isdisjoint如果两个集合的并集是空的话,返回True

p_s = {"wsx","jcy","yjt","asd"}
l_s = {"a","b","c"}
print(p_s.isdisjoint(l_s))
#结果:True

#3.6 issubset:s是否为p的子集

p = {1,2,3}
s = {1,2}
print(s.issubset(p))
#结果:True
print(p.issuperset(s)) #p是否为S的父集
#结果:True

#s.update(p) #将S更新,更新多个值
#s.add(5)  #add是更新一个值
s.update([6,7])
print(s)
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值