|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

 

 

posted on   yanqi_vip  阅读(23)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示