dcsxlh

导航

 
集合
集合是不同元素的无序集合。与序列类型不同,集合是没有切片操作的
语法:set 集合最重要的功能就是去重 集合分可变集合和不可变集合
1)可变集合(set):集合里面的元素是可以发生变化,集合中可以动态的增加和删除。
2)不可变集合(frozenset):集合里面的元素是不可以发生变化
注意:集合中的元素是无序的,且集合后元素不重复
案例:

一、可变集合
new = [1,2,33,2,2,99,'test']  #列表中元素去重
yy = (set(new))
print (yy)              #结果:    set(['test', 1, 2, 99, 33])

一、去重情况:

(1)对列表数据重复的,进行去重
 
(2)对一个“字符串”进行去重
test = 'hello'
yy = set(test)
print(yy) # 结果: set(['h', 'e', 'l', 'o'])

二、update  添加集合的内容

第一种方法;
test = 'hello'
yy = set(test)
a=("1","88")
yy.update(a) #添加集合的内容
print (yy) # 结果:set(['e', 'h', 'l', 'o', '1', '88']
第二种方法:
test = 'hello'
yy = set(test)
yy.add('123')
print (yy) #结果:set(['h', '123', 'e', 'l', 'o'])注意结果是无序的
三、clear  清除集合种的内容
test = 'hello'
yy = set(test)
yy.clear()    #清除集合中的内容
print (yy) # 结果:set() 空集合

 

 四、pop 删除集合中的内容

讲解:pop()方法用于随机移除一个元素例如:set.pop()
备注:不带参数时一般是移除最后一位,但是我们这里删除的是第一位

test = 'hello'
yy = set(test)
yy.pop()        #删除集合中的内容
print (yy) # 结果: set(['e', 'l', 'o'])

五、remove 删除指定的内容

a=(‘99’,‘88‘)

yy=set(a)

yy=remove(‘88’)

print (yy)  #打印结果:{'99'}

 

 

 六、复制集合

test = 'hello'
yy = set(test)
a=yy.copy()
print (a)

 

 

 二、不可变集合

不可变集合  frozenset
第一种情况:对不可变集合进行添加,都是报错,只能复制
test = 'hello'
yy = frozenset(test)
yy.add('123') #AttributeError:
print (yy)
#打印结果:'frozenset' object has no attribute 'add'译文:'frozenset'对象没有属性'add'
第二中情况:对不可变集合进行删除
test = 'hello'
yy = frozenset(test)
yy.pop() #删除集合中的内容
print (yy) # 结果: AttributeError: 'frozenset' object has no attribute 'pop'

第三种情况:copy(只能对不可变集合复制,)
test = 'hello'
yy = frozenset(test)
a = yy.copy()
print (a) #显示结果:frozenset({'o', 'h', 'l', 'e'})



 

 

posted on 2020-11-16 00:36  多测师_肖sir  阅读(181)  评论(0编辑  收藏  举报