集合:
1.集合是无序的,可以用来进行关系测试,去重等;
2.关系测试:
①交集:
Ⅰ.集合1.intersection(集合2)
Ⅱ.集合1 & 集合2
![]()
#!-*- coding:utf-8 -*-
# Author:Steve
list_1 = (1,2,55 )
list_1 = set(list_1)
list_2 = set([2,5,8])
print(list_1.intersection(list_2))
print(list_1 & list_2,'\n')
>>
{2}
{2}
intersection
②并集:
Ⅰ.集合1.union(集合2)
Ⅱ.集合1 | 集合2
![]()
#!-*- coding:utf-8 -*-
# Author:Steve
list_1 = (1,2,55 )
list_1 = set(list_1)
list_2 = set([2,5,8])
print(list_1.union(list_2))
print(list_1 | list_2,'\n')
>>
{1, 2, 5, 55, 8}
{1, 2, 5, 55, 8}
union
③差集:(一个集合中存在,另外一个集合中不存在)
Ⅰ.集合1.difference(集合2)
Ⅱ.集合1 - 集合2
![]()
#!-*- coding:utf-8 -*-
# Author:Steve
list_1 = (1,2,55 )
list_1 = set(list_1)
list_2 = set([2,5,8])
print(list_1.difference(list_2),list_2.difference(list_1))
print(list_1 - list_2,list_2 - list_1,'\n')
>>
{1, 55} {8, 5}
{1, 55} {8, 5}
difference
④对称差集:(两个集合中的互相不存在的数据)
Ⅰ.集合1.symmetric_difference(集合2)
Ⅱ.集合1 ^ 集合2
![]()
#!-*- coding:utf-8 -*-
# Author:Steve
list_1 = (1,2,55 )
list_1 = set(list_1)
list_2 = set([2,5,8])
print(list_1.symmetric_difference(list_2))
print(list_1 ^ list_2,'\n')
>>
{1, 5, 8, 55}
{1, 5, 8, 55}
symmetric_difference
⑤判断一个集合是否为另一个集合的子集:
集合1.issubset(集合2)
![]()
#!-*- coding:utf-8 -*-
# Author:Steve
list_1 = (1,2,55 )
list_1 = set(list_1)
list_3 = set([55])
print(list_3.issubset(list_1))
>>
True
issubset
⑥判断一个集合是否为另一个集合的父集:
集合1.issuperset(集合2)
![]()
#!-*- coding:utf-8 -*-
# Author:Steve
list_1 = (1,2,55 )
list_1 = set(list_1)
list_3 = set([55])
print(list_1.issuperset(list_3),'\n')
>>
True
issuperset
⑦判断两个集合是否有交集:(没有返回True,有返回False)
集合1.isdisjoint(集合2)
![]()
#!-*- coding:utf-8 -*-
# Author:Steve
list_1 = (1,2,55 )
list_1 = set(list_1)
list_2 = set([2,5,8])
list_3 = set([55])
print(list_3.isdisjoint(list_2),list_1.isdisjoint(list_3))
>>
True False
isdisjoint
3.常用基本操作:
①增:
Ⅰ.集合.add()
Ⅱ.集合.update()
![]()
#!-*- coding:utf-8 -*-
# Author:Steve
list_1 = set([1,2,55])
list_1.add( 999 )
list_1.update( [12,48,57] )
print(list_1,'\n')
>>
{1, 2, 999, 12, 48, 55, 57}
Add
②删:
Ⅰ.集合.pop() #任意集合内删除某个元素
Ⅱ.集合.remove() #如果指定删除的元素并不在集合内,会报错
Ⅲ.集合.discard() #如果指定删除的元素并不在集合内,不会报错
![]()
#!-*- coding:utf-8 -*-
# Author:Steve
list_1 = set([1,2,57,999])
print(list_1.pop())
list_1.remove( 57 )
list_1.discard( 999 )
print( list_1 ,'\n')
>>
1
{2}
Delete
③判断长度:
len()方法
![]()
#!-*- coding:utf-8 -*-
# Author:Steve
list_1 = set([1,2,55])
print(len(list_1))
>>
3
Length
④判断某个是否为该集合的成员:
x in 集合/x not in 集合
![]()
#!-*- coding:utf-8 -*-
# Author:Steve
list_1 = set([1,2,55])
print( 2 in list_1,50 not in list_1)
>>
True True
In