Python集合

2019-01-10 07:50:22来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

定义:由不同元素组成的集合,集合中是一组无须排列的可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

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Python常见的脚本汇总

下一篇:20190108-使用递归函数实现求最大公约数等基本递归函数的用法