set存储函数 增 删 查
有的时候 我们只想要dick字典函数的 唯一性 和不可修改的特性 对value值不关心
这个时候 就需要set函数了
此函数内部运行机制和dick非常相似 拥有 快速 不可修改唯一 性等等特点
#声明一个set函数 变量名=set([数据1,数据2,数据三]) stuName=set(['Lucy','Bobo','Jack']) stuScore=set([('Lucy',98),('Bobo',88),('Jack',66)])
x
1 #声明一个set函数 2 变量名 = set ([ 数据1 , 数据2 , 数据三 ]) 3 stuName = set ([ 'Lucy' , 'Bobo' , 'Jack' ]) 4 stuScore = set ([( 'Lucy' , 98 ),( 'Bobo' , 88 ),( 'Jack' , 66 )])
#查找和输出 if Lucy in stuName: print True else: print flase #输出整段set print stuName #遍历set for data in strName: print data #对于混合了Tuple元组的元素我们怎么处理呢 for data in stuScore: print data[0]+':'+str(data[1])#注意这里我用了一个强制转换成字符串函数
x 10
1 #查找和输出 2 if
Lucy
in
stuName : 3
True 4 else : 5
flase 6 #输出整段set 7 print
stuName 8 9 #遍历set 10 for
data
in
strName : 11
data 12 13 #对于混合了Tuple元组的元素我们怎么处理呢 14 for
data
in
stuScore : 15
data [ 0 ] + ':' + str ( data [ 1 ]) #注意这里我用了一个强制转换成字符串函数 #增加数据 变量名.add(数据) stuName.add('Moke') #注意 若set中存在此元素则什么都不干 既不会重复 也不会报错 stuName.add('Lucy')
1
1 #增加数据 2
变量名 . add ( 数据 ) 3 stuName . add ( 'Moke' ) 4 5 #注意 若set中存在此元素则什么都不干 既不会重复 也不会报错 6 stuName . add ( 'Lucy' )
#删除数据 变量名.remove(数据) #注意 若尝试删除一个不存在的数据时会报错 所以我们通常要提前判断数据是否存在 if 'Lucy' in stuName: stuName.remove('Lucy')
x
1 #删除数据 2
变量名 . remove ( 数据 ) 3 #注意 若尝试删除一个不存在的数据时会报错 所以我们通常要提前判断数据是否存在 4 if
'Lucy'
in
stuName : 5
stuName . remove ( 'Lucy' )
damo1-若数组1存在数组2数据时就删除 不存在时则添加 s = set(['Adam', 'Lisa', 'Paul']) L = ['Adam', 'Lisa', 'Bart', 'Paul'] for data in L: if data in s: s.remove(data) else: s.add(data) print s
1
1 s
set ([ 'Adam' , 'Lisa' , 'Paul' ]) 2 L = [ 'Adam' , 'Lisa' , 'Bart' , 'Paul' ] 3 for
data
in
L : 4
if
data
in
s : 5
s . remove ( data ) 6
else : 7
s . add ( data ) 8 print
s
damo2-用name:score的方式打印出混合了Tuple的set数组中的数据 s = set([('Adam', 95), ('Lisa', 85), ('Bart', 59)]) for x in s: print x[0],':',x[1] #print x[0]+":"+str(x[1]) ]) 1
1 s
set ([( 'Adam' , 95 ), ( 'Lisa' , 85 ), ( 'Bart' , 59 )]) 2 for
x
in
s : 3
x [ 0 ], ':' , x [ 1 ] 4
#print x[0]+":"+str ( x[1] )