the day of python learning(集合)

Python集合操作详解
本文深入讲解Python中集合的创建、增删查改操作,以及如何进行集合间的交集、并集、差集和对称差集运算。同时,探讨了集合的子集与超集判断方法,以及frozenset的使用,帮助读者全面掌握集合这一数据结构。

'''

一.集合

集合是无序的,不重复的可变数据类型,它里面的元素是可哈希的(不可变类型),但是集合本身是不可哈希(所以集合做不了字典的键)的。集合的重要两点:

  去重,把一个列表变成集合,就自动去重了。

  关系测试,测试两组数据之前的交集、 差集 、并集 等关系。


集合:可变的数据类型,他里面的元素必须是不可变的数据类型,无序,不重复。
{}
'''
#creat one set
set1 = {1,2,3}#set()将数据类型转换为集合
#{1,2,3}为一个集合,且里面的数据为int,不可变
#print(set)#{1, 2, 3} <class 'set'>
#set2 = {1,2,3,[2,3],{'name':'renxin'}}
#报错,存在字典与列表等可变数据类型
#print(set2)

#集合的增加
#add
# set1.add('女神')
# print(set1)
#update,迭代着添加
# set1.update('女神')
# print(set1)

#集合的删除
#set1.pop()#随机删除
# print(set1.pop())#有返回值
# print(set1)

#set1.remove(1)#按照元素进行删除
#print(set1)

# set1.clear()
# print(set1) #返回为set()

# del set1
# print(set1)#返回为报错,因为集合set已经不存在了

#集合的查找
# for i in set1:
#     print(i)


set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}
#交集(&或者intersection)
# set3 = set1& set2
# print(set3)  #返回集合的交集{4,5}
#print(set1.intersection(set2))  #{4,5}#intersection返回的是函数

#并集。(| 或者union)
print(set1 | set2) #{1,2,3,4,5,6,7}
print(set2.union(set1))
#差集(-或者difference)
print(set1 - set2)
print(set1.difference(set2))#{1,2,3}

#反交集(^或者symmetic_difference)
print(set1^set2)  #返回集合的{1,2,3,6,7,8}
print(set1.symmetric_difference(set2))

#子集与超集
set1 = {1,2,3}
set2 = {1,2,3,4,5,6}
print(set1 < set2)
print(set1.issubset(set2))#这两个相同,都是说明set1是set2子集

print(set2>set1)
print(set2.issuperset(set1))#这两个相同,都是说明set2是set1超集

#frozenset不可变集合,让集合变成不可变类型
s = frozenset('barry')
print(s,type(s))       #frozenset({'r', 'y', 'a', 'b'}) <class 'frozenset'>
#集合无序的

 

转载于:https://www.cnblogs.com/wai-xin-ren/p/9487765.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值