Python集合

Posted 陈彦斌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

 

以上是关于Python集合的主要内容,如果未能解决你的问题,请参考以下文章

金蝶handler中 collection 代码片段理解

Alfred常见使用

比较 C# 中的字符串片段并从集合中删除项目

带有红宝石集合/可枚举的酷技巧和富有表现力的片段[关闭]

常用python日期日志获取内容循环的代码片段

python 有用的Python代码片段