集合set set_python 1.集合的创建 2.集合的相关操作 3.集合间的关系 4.集合的数学操作 5.集合生成式
set_python
1.集合的创建
s = { 2 , 3 , 4 , 5 , 6 , 6 , 7 , 7 }
print ( s) s1 = set ( range ( 6 ) )
print ( s) s2 = set ( [ 2 , 3 , 4 , 5 , 6 , 6 , 7 , 7 ] )
print ( s2) s3 = set ( ( 1 , 2 , 4 , 5 , 65 ) )
print ( s3) s4 = set ( 'python' )
print ( s4) s5 = set ( { 12 , 4 , 34 , 55 , 66 , 4 , 66 } )
print ( s5)
s6 = { }
print ( type ( s6) )
s7 = set ( )
print ( type ( s7) )
2.集合的相关操作
s = { 10 , 20 , 30 , 40 , 60 , 20 }
print ( 10 in s)
print ( 10 not in s)
print ( 100 in s)
方法 含义 add() 一次至少添加一个元素 update() 至少添加一个元素
s = { 10 , 20 , 20 } s. add( 80 )
print ( s) s. update( { 100 , 110 } )
print ( s) s. update( [ 200 , 210 ] )
print ( s) s. update( ( 300 , 310 ) )
print ( s)
方法 含义 remove() 一次删除一个指定的元素。若指定元素不存在抛出KeyError discard() 一次删除一个指定元素,若指定元素不存在不抛出异常 pop() 一次只删除一个任意元素 clear() 清空集合
s = { 200 , 10 , 80 , 210 , 20 , 100 , 300 , 110 , 310 } s. remove( 100 )
print ( s) '''
s.remove(500)
print(s) # 报错
''' s. discard( 200 )
print ( s) s. discard( 500 )
print ( s) s. pop( )
print ( s) s. clear( )
print ( s)
3.集合间的关系
集合关系 使用函数 A与B是否相等 A == B A是否是B的子集 A.issubset(B) A是否是B的超集 A.issuperset(B) A与B是否不存在交集 A.isdisjoint(B)
s = { 10 , 20 , 30 , 40 }
s2 = { 30 , 40 , 20 , 10 }
print ( s == s2)
print ( s != s2)
s1 = { 10 , 20 , 30 , 40 , 50 , 60 }
s2 = { 10 , 20 , 30 , 40 }
s3 = { 10 , 20 , 90 }
print ( s2. issubset( s1) )
print ( s3. issubset( s1) )
print ( s1. issuperset( s2) )
print ( s1. issuperset( s3) )
print ( s2. isdisjoint( s3) )
s4 = { 100 , 200 , 300 }
print ( s2. isdisjoint( s4) )
4.集合的数学操作
方法 含义 A.intersection(A) 或者 A & B A与B的交集 A.union(B) 或者 A | B A与B的并集 A.difference(B) 或者 A - B A与B的差集 A.symmetric_difference(B) 或者 A ^ B A与B的对称差集
s1 = { 10 , 20 , 30 , 40 }
s2 = { 20 , 30 , 40 , 50 , 60 }
print ( s1. intersection( s2) )
print ( s1 & s2)
print ( s1. union( s2) )
print ( s1 | s2)
print ( s1. difference( s2) )
print ( s2 - s1)
print ( s1. symmetric_difference( s2) )
print ( s1 ^ s2)
print ( s1)
print ( s2)
5.集合生成式
s = { i * i for i in range ( 10 ) }
print ( s)