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)
-clear()
1 arr_Num = {1, 2, 3, 4, 5} 2 arr_Num.clear() 3 print(arr_Num)
-copy()
1 arr_Num = {1, 2, 3, 4, 5} 2 arr_Num1 = arr_Num.copy() 3 print(arr_Num1)
-pop() 删除,不确定从左边删,还是右边删,因为集合是无序的
1 arr_Num = {1, 2, 3, 4, 5} 2 arr_Num.pop() 3 print(arr_Num)
-remove() 指定元素删,若元素不存在,会报错
1 arr_Num = {1, 2, 3, 4, 5} 2 arr_Num.remove(3) 3 print(arr_Num)
-discard() 指定元素删,若元素不存在,不会报错
1 arr_Num = {1, 2, 3, 4, 5} 2 arr_Num.discard(33) 3 print(arr_Num)
集合关系:
-intersection() 找2个集合中的交集,即共同的部分
1 arr_Num1 = {1, 2, 3, 4, 5} 2 arr_Num2 = {2, 4, 5} 3 print(arr_Num1.intersection(arr_Num2))
- “&” 同上一个方法
1 arr_Num1 = {1, 2, 3, 4, 5} 2 arr_Num2 = {2, 4, 5} 3 print(arr_Num1 & arr_Num2)
-union() 并集
1 arr_Num1 = {1, 2, 3, 4, 5} 2 arr_Num2 = {2, 4, 5, 7} 3 print(arr_Num1.union(arr_Num2))
- “|” 同上一个方法
1 arr_Num1 = {1, 2, 3, 4, 5} 2 arr_Num2 = {2, 4, 5, 7} 3 print(arr_Num1 | arr_Num2)
- difference() 求差集
1 arr_Num1 = {1, 2, 3, 4, 5} 2 arr_Num2 = {2, 4, 5, 7} 3 print(‘差集:‘, arr_Num1.difference(arr_Num2))
- “-” 同上一个方法
1 arr_Num1 = {1, 2, 3, 4, 5} 2 arr_Num2 = {2, 4, 5, 7} 3 print(‘差集:‘, arr_Num1 - arr_Num2)
- 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))
- “^” 同上一个方法
1 arr_Num1 = {1, 2, 3, 4, 5} 2 arr_Num2 = {2, 4, 5, 7} 3 print(‘交叉补集:‘, arr_Num1 ^ arr_Num2)
- 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)
- 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)
- 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)
- 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)
-update() 一个集合更新到另一个集合
1 arr_Num1 = {1, 2, 3, 4, 5} 2 arr_Num2 = {6, 7} 3 arr_Num1.update(arr_Num2) 4 print(arr_Num1)
以上是关于Python集合的主要内容,如果未能解决你的问题,请参考以下文章