Python集合

python学习网 2019-01-10 07:20:09

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

 

阅读(4974) 评论(0)