python学习之路---集合、copy

# 集合: 集合是无序的,所以无法修改,仅可以做增删查 三种操作,而且是不重复数据的的集合
# 集合有两个大特性:1、去重,将列表转换为集合后,会自动去重 2、关系测试:测试两组数据之间的交集差集、并集等关系

# 增 add() update()
# set1 = {'a',1,2,3,'b','c'}
# set1.add('d')
# print(set1) # 因为集合是无序的,所以添加位置随机
#
# set2 = {'a','5',5}
# set2.update(set1)
# print(set1)
# print(set2)  # 将集合1的内容添加到集合2中

#删 pop() 随机删除 有返回值, remove()指定删除 返回值为None,del 删除集合,clear 清空集合
# set3 = {'a',1,2,3,'b','c','11',11}
# msg = set3.pop()
# print(msg) # 打印返回值
# print(set3) # pop是随机删除,每次运行随机删除一个一个值
#
# msg1 = set3.remove(2) # remove 删除指定元素
# print(set3,msg1)
#
# set3.clear()
# print(set3)
#
# del set3 # del 直接删除集合,无法用del删除指定元素

# 查, 只能用for循环查,因为无序,所以无法查找指定位置的元素
# set4 = {'a',1,2,3,'b','c','11',11}
# for i in set4:
#     print(i)
# 集合的去重: 将列表转为集合即可
# li1 =['1',1,1,1,1,1,'1',2,2,2,2,3,3,3,3,]
# li1 = set(li1)
# print(list(li1))
#集合的关系,交集,并集,差集,反交集,子集和超集
set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}
#交集 用 & 或intersection
print(set1 & set2)
print(set1.intersection(set2))
#并集 用 | 或 union
print(set1 | set2)
print(set1.union(set2))
#差级 - 或 difference  取出set1与set2不同的元素并打印
print(set1 - set2)
print(set1.difference(set2))
#反交集 ^ 或 symmetric_difference 去除相同的部分,集合不同的元素并打印
print(set1 ^ set2)
print(set1.symmetric_difference(set2))
#子集和超集  只会返回布尔值,证明A是否为B的子集
A = {1,2,3}
B = {1,2,3,4,5}
print(A > B)
print(A < B) #这是子集,A是B的子集
print(B>A) #这是超集, B是A的超集

#frozenset 将集合转换为可哈希的数据类型,即不可变数据类型,转换后可以查询
C = frozenset(A)
print(A,type(A))
print(C,type(C))

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jerry's-Study

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值