Python集合

定义:由不同元素组成的集合,集合中是一组无须排列的可hash值,可以作为字典的Key

特点:

  a.不同元素组成

  b.无序

  c.集合中元素必须是不可变类型(数字、字符串、元祖)

方法:

  -add()

1 arr_Num = {1, 2, 3, 4, 5}
2 arr_Num.add('alex')
3 print(arr_Num)
View Code

  -clear()

1 arr_Num = {1, 2, 3, 4, 5}
2 arr_Num.clear()
3 print(arr_Num)
View Code

  -copy()

1 arr_Num = {1, 2, 3, 4, 5}
2 arr_Num1 = arr_Num.copy()
3 print(arr_Num1)
View Code

  -pop() 删除,不确定从左边删,还是右边删,因为集合是无序的

1 arr_Num = {1, 2, 3, 4, 5}
2 arr_Num.pop()
3 print(arr_Num)
View Code

  -remove() 指定元素删,若元素不存在,会报错

1 arr_Num = {1, 2, 3, 4, 5}
2 arr_Num.remove(3)
3 print(arr_Num)
View Code

  -discard() 指定元素删,若元素不存在,不会报错

1 arr_Num = {1, 2, 3, 4, 5}
2 arr_Num.discard(33)
3 print(arr_Num)
View Code

集合关系:

  -intersection() 找2个集合中的交集,即共同的部分

1 arr_Num1 = {1, 2, 3, 4, 5}
2 arr_Num2 = {2, 4, 5}
3 print(arr_Num1.intersection(arr_Num2))
View Code

  - “&”  同上一个方法

1 arr_Num1 = {1, 2, 3, 4, 5}
2 arr_Num2 = {2, 4, 5}
3 print(arr_Num1 & arr_Num2)
View Code

  -union() 并集

1 arr_Num1 = {1, 2, 3, 4, 5}
2 arr_Num2 = {2, 4, 5, 7}
3 print(arr_Num1.union(arr_Num2))
View Code

  - “|” 同上一个方法

1 arr_Num1 = {1, 2, 3, 4, 5}
2 arr_Num2 = {2, 4, 5, 7}
3 print(arr_Num1 | arr_Num2)
View Code

  - difference() 求差集

1 arr_Num1 = {1, 2, 3, 4, 5}
2 arr_Num2 = {2, 4, 5, 7}
3 print('差集:', arr_Num1.difference(arr_Num2))
View Code

  - “-” 同上一个方法

1 arr_Num1 = {1, 2, 3, 4, 5}
2 arr_Num2 = {2, 4, 5, 7}
3 print('差集:', arr_Num1 - arr_Num2)
View Code

  - symmetric_difference() 求交叉补集

1 arr_Num1 = {1, 2, 3, 4, 5}
2 arr_Num2 = {2, 4, 5, 7}
3 print('交叉补集:', arr_Num1.symmetric_difference(arr_Num2))
View Code

  - “^”  同上一个方法

1 arr_Num1 = {1, 2, 3, 4, 5}
2 arr_Num2 = {2, 4, 5, 7}
3 print('交叉补集:', arr_Num1 ^ arr_Num2)
View Code

  - difference_update() 交叉完之后,更新

复制代码
1 arr_Num1 = {1, 2, 3, 4, 5}
2 arr_Num2 = {2, 4, 5, 7}
3 arr_Num1.difference_update(arr_Num2)
4 print('交叉完之后,赋值给arr_Num1:', arr_Num1)
View Code
复制代码

  - isdisjoint() 返回一个布尔值,如何二个集合没有交集,返回一个True;反之则,False

复制代码
1 arr_Num1 = {1, 2, 3, 4, 5}
2 arr_Num2 = {7}
3 accept_result = arr_Num1.isdisjoint(arr_Num2)
4 print(accept_result)
View Code
复制代码

  - issubset() 返回一个布尔值,判断一个集合是否是第二个集合的子集

复制代码
1 arr_Num1 = {1, 2, 3, 4, 5}
2 arr_Num2 = {2, 3}
3 accept_result = arr_Num2.issubset(arr_Num1)
4 print(accept_result)
View Code
复制代码

  - issuperset() 返回一个布尔值,判断一个集合是否是第二个集合的父集

复制代码
1 arr_Num1 = {1, 2, 3, 4, 5}
2 arr_Num2 = {2, 3}
3 accept_result = arr_Num2.issuperset(arr_Num1)
4 print(accept_result)
View Code
复制代码

  -update() 一个集合更新到另一个集合

复制代码
1 arr_Num1 = {1, 2, 3, 4, 5}
2 arr_Num2 = {6, 7}
3 arr_Num1.update(arr_Num2)
4 print(arr_Num1)
View Code
复制代码

 

posted @   陈彦斌  阅读(249)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示
主题色彩