|NO.Z.00018|——————————|BigDataEnd|——|Hadoop&Python.v18|——|Arithmetic.v18|语法:数据结构&集合set.V5|
一、集合 set:集合在Python中是一个无序的不重复的序列,一般用来删除重复数据还可以计算交集并集等。
### --- 集合的定义
~~~ # 这两方式都可以定义一个集合
nums = {1, 2, 3, 4, 5}
nums = set([1, 2, 3, 4, 5])
~~~ # 注意,集合是无序的,虽然我们在书写的时候是按照从小到大的顺序,有时候遍历出来也是有序的,但不能把它视为有序,并作为某些逻辑的依据。
~~~ # 集合最常用的用法是用来消除列表或者元组中的重复元素
lst = [1, 2, 1, 3, 4, 5]
list(set(lst))
~~~ # 列表里里面有两个1,先将lst转成了集合,再将集合转成了列表,最终得到了一个没有重复元素的列表[1, 2, 3, 4, 5] ,注意最后得到的列表的顺序有可能跟原来是不一样的。
### --- 遍历集合
~~~ # 集合的遍历和列表、元组很相像,再次重申,它不是有序的。
for n in nums:
print(n)
~~~ # 也可以通过len函数来测量它的长度,准备地讲,在数学上叫集合的基数。
len(nums) # 5
~~~ # 可以通过in 来判断集合中是否有某个特定的元素
5 in nums # True
### --- 增删改查
~~~ # 往集合里添加一个元素
nums.add(5) # do nothing
nums.add(6)
~~~ # 如果集合里已经有这个元素了,则什么也不做。像上面的第一行代码,什么也没有做。
~~~ # 已经加入集合的元素不能修改,只能删除,删除集合里的元素:
nums.remove(5)
nums.remove(5) # Error
~~~ # remove函数会从集合里删除指定元素,但如果元素不存在,则会报错,上面的第二行代码就会报错。
~~~ # 如果不想报错,可以使用diiscard函数
nums.discard(5)
~~~ # 从集合内删除并返回一个元素:
num = nums.pop()
~~~ # 如果集合是空的,则会报错。有时候,我们也会使用pop函数来迭代一个集合。
while len(nums) > 0:
print(nums.pop())
~~~ # 这样的好处是可以保证每个元素只被使用一次,不会重复使用。
### --- 集合函数
~~~ # 定义两个集合
s1 = {1, 2, 3}
s2 = {3, 4, 5}
~~~ # 求交集
s1.intersection(s2) # {3}
~~~ # 求并集
s3 = s1.union(s2)
print(s3) # {1, 2, 3, 4, 5}
~~~ # 是否是子集
s1.issubset(s3) # True
~~~ # 是否是父集
s3.issuperset(s2) # True
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
分类:
bdv027-python
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了