1、set只存储键值类型丰富。
num = { 'adobe' , 'plaer' , "adobe" , 10000 }
print ( type ( num) )
< class 'set' >
2、a = set()与set = {},前者是集合,后者是字典。创建时自动忽略重复的。
ab = { 'a' , 'b' , 'c' , 'd' , 'a' , 'd' }
print ( ab)
{ 'a' , 'd' , 'b' , 'c' }
3、将元组转换成无序的集合。
a = set ( '15613154hdakshdasjk' )
print ( a) {
'6' , '5' , 'j' , 's' , 'k' , '4' , '3' , 'a' , '1' , 'd' , 'h' }
4、集合内置方法
name = { '小明' , '小亮' , '小王' } #定义两个集合
zhonglei = { 'boy' , 'girl' , 'man' , 'womam' }
name. add ( '小红' ) #添加小红
print ( name)
name. update ( zhonglei) #合并
print ( name)
name. discard ( "小明" ) #必须使用双引号
print ( name)
name. pop ( ) #随便删除一个
print ( name)
zhonglei. add ( '小红' )
new1 = name & zhonglei #取交
print ( new1)
new2 = print ( set. union ( name, zhonglei) ) #取联合
new3 = print ( name| zhonglei) #取并
new4 = print ( name - zhonglei) #取差
print ( name <= zhonglei) #判断包含关系
print ( name >= zhonglei) #判断包含关系
print ( name. isdisjoint ( zhonglei) ) #判断是不是相交
{ '小明' , '小红' , '小王' , '小亮' }
{ '小明' , '小红' , 'girl' , 'womam' , '小亮' , 'man' , '小王' , 'boy' }
{ '小红' , 'girl' , 'womam' , '小亮' , 'man' , '小王' , 'boy' }
{ 'girl' , 'womam' , '小亮' , 'man' , '小王' , 'boy' }
{ 'girl' , 'boy' , 'womam' , 'man' }
{ '小红' , 'girl' , 'womam' , '小亮' , 'man' , '小王' , 'boy' }
{ '小红' , 'girl' , 'womam' , '小亮' , 'man' , '小王' , 'boy' }
{ '小王' , '小亮' }
False
False
False
5、frozenset([ ]),冻结后无法进行update,可以进行集合运算。
new = frozenset ( meal)
print ( new )
new . update ( 'juice' )
print ( new )
frozenset ( { 'water' , 'milk' , 'cookic' , 'cake' , 'eggs' , 'wine' } )
AttributeError: 'frozenset' object has no attribute 'update'
8、练习题
a = ( 1 ) #只含1 的元组
print ( a)
1
b = { } #加元素
b = ( 'x' , 'y' , 'z' )
print ( b)
( 'x' , 'y' , 'z' )
l = { 'A' , 'B' , 'A' , 'B' } #列表去重
ji = set ( l)
print ( ji)
{ 'A' , 'B' }
ji1 = { 6 , 7 , 8 } #求不重复的数字
ji2 = { 7 , 8 , 9 }
ji3 = print ( ( ( ji1 | ji2) - ( ji1 & ji2) ) )
{ 9 , 6 }